Copyright | (c) Brian Hurt 2017 |
---|---|
License | BSD3 |
Maintainer | bhurt42@gmail.com |
Stability | experimental |
Portability | Haskell |
Safe Haskell | None |
Language | Haskell2010 |
This is the implementation of the Unity monad for Servant. I assume that the code is using enter to add a ReaderT or StateT on top of the Handler monad.
Note that if we try to supply a implementation of UnityM for MTL's Reader type class, this conflicts with the Trans implementation of UnityM in the main library. This whole implementation is tap dancing on the edge of needing OverlappingInstances, which is bad. For more complex instances, hand rolled implementations of UnityM may be required.