I'm unsure about eee4e3164bb3aa48ff5631d3753b41f757bf62b3. It works nicely when m is IO, which is the common case. But, because of the way Haskell's type classes work, this presumably rules out instances where m doesn't have MonadError instance, even though we'd ideally have instance MonadError LifxError (LifxT m), i.e. the newtype-derivable one.
I'm unsure about eee4e3164bb3aa48ff5631d3753b41f757bf62b3. It works nicely when
m
isIO
, which is the common case. But, because of the way Haskell's type classes work, this presumably rules out instances wherem
doesn't haveMonadError
instance, even though we'd ideally haveinstance MonadError LifxError (LifxT m)
, i.e. the newtype-derivable one.