I don't see anything for MonadTrans. I recommend using this base monad for testing it:
data TestF a = TestF !Int [a]
deriving (Functor, Eq, Show)
newtype TestM a = TestM (Free TestF a)
where it's easier to define a Free monad locally (with lots of StandaloneDeriving) than to do the Show1, Eq1, etc., gunk needed to use the one in Free.
I don't see anything for
MonadTrans. I recommend using this base monad for testing it:where it's easier to define a
Freemonad locally (with lots ofStandaloneDeriving) than to do theShow1,Eq1, etc., gunk needed to use the one inFree.