As of PR #141, it's no longer, for example, trivial to derive MonadST for a newtype monad.
It'd be helpful if the Haddock on MonadST called out the dependence on PrimMonad, and ideally suggested how to workaround it. (If PrimState were a top-level family instead of associated, the PrimMonad instance wouldn't be required! Although, as Duncan mentioned in PR 141, PrimMonad does usefully enable the rest of the API from primitive.)
Either add withLiftST k = k stToIO as a default, or at least spell it out in the Haddock.
As of PR #141, it's no longer, for example, trivial to derive
MonadST
for a newtype monad.It'd be helpful if the Haddock on
MonadST
called out the dependence onPrimMonad
, and ideally suggested how to workaround it. (IfPrimState
were a top-level family instead of associated, thePrimMonad
instance wouldn't be required! Although, as Duncan mentioned in PR 141,PrimMonad
does usefully enable the rest of the API fromprimitive
.)Either add
withLiftST k = k stToIO
as a default, or at least spell it out in the Haddock.Etc?