Yeah, it’s definitely a big topic in the Haskell community. It’s a difficult one that should probably take influence from some other languages, but the type system being the way it is makes this difficult.
It will be improved in time, it’s just like people having problems with GHC.Stack.Types.HasCallStack
(which I actually don’t think is that bad an implementation), it’s just difficult to use effectively.
There was a decent discussion around GHC.Stack.Types.HasCallStack
over here, if you’re unfamiliar.