Search code examples
haskellmonad-transformers

Why is RWST ... m a not an instance of MonadReader, MonadState, MonadWriter


I just discovered that RWST (from transformers) does not carry an instance for MonadReader, MonadState, or MonadWriter. This seems a little odd to me as those instances would immediately improve usability, e.g. being able to use .=, or just generally improve reusability.

Surely there is a reason for this decision?


Solution

  • RWST is an instance of all those classes. You won't see that in the Haddock documentation for transformers because the classes and the instances you seek are in mtl.