An example of this philosophy divide is just think about non-exported functions in Haskell. The author made them private because he knows how the code works and why you shouldn't access them, that's very nice and correct--unless... someone out there really does have a weird case! Humans are bad at setting these boundaries!
Or how about the ability to support some YAML keys that are user-defined? Now your magical json-to-datatype generic is moot.
(end)