GHC Type Inference - Too clever for its own good?

your favourite IDE would just show you the inferred type by right-clicking on the function’s definition

that’s what I would describe as ‘cargo cult programming’: “copies some program code from one place to another” (that is, copies signatures from the IDE-inferred (or compiler-inferred) type into your code without passing through your brain.)

My intention was to avoid having type signatures everywhere in code, in the same way we don’t always have to provide the correct order of evaluation:

Both of these are annoying relics of older programming languages that now usually only interest speed enthusiasts.

But you have a valid point - it would also make it easier to just “copy-n-paste” inferred types into type signatures, for those who really do want those signatures everywhere… :-/