So worse is better after all? :)

On a more serious note, I think there are two different ways of understanding generalization: generalization as flexibility and generalization as abstraction. While I agree that over-flexibility and over-configurability is something to avoid (YAGNI), proper abstraction is something always to look out for: it doesn’t need to mean increased flexibility; rather, focusing on more general concepts (probably already implemented elsewhere), which needs to be applied to parameters corresponsing to the problem we are solving. Of course, „proper” is the key word here, which makes the whole thing difficult :)

Scala software engineer, Functional Programming enthusiast, SoftwareMill co-founder

Scala software engineer, Functional Programming enthusiast, SoftwareMill co-founder