It won’t, because now your type signatures “lie” in a sense that it looks like they use all these effects, whereas in reality they don’t.
This is your post from the other thread:
With what you propose you lose this propoerty, don’t you? Now it looks like your functions are using more effects than they do in reality.
Looks like he’s using a polymorphic monad and class constraints: