About monad transformers, I don't really like to use them because they
can get hairy in some cases, and because they have poor performance in
other cases.

Then what is your alternative? How do you replace monad transformers?