I find bad abstractions to be a much greater liability than unabstracted code that could be combined into one function but isn't.
It's relatively easy to combine code and much harder to disentangle it
It's relatively easy to combine code and much harder to disentangle it