like, maybe later on you might swap out one data structure or an algorithm which turns out to be faster given the data you're actually working with. but most of the time it's like, oh, actually our abstractions are wrong and we need to move all this stuff over there and remove this thing and split it into two things. and all the Code That Actually Does Things is still just sitting there unchanged. maybe i'm weird and this doesn't happen to anyone else though