WIP: Derive Ghc, GhcT, GHCi, FlatM, TcS instances via ReaderT.
Deriving instances for GHCi
via ReaderT
(among other instances):
{-# LANGUAGE DerivingVia #-}
..
newtype GHCi a = GHCi { unGHCi :: IORef GHCiState -> Ghc a }
deriving
(Functor, Applicative, Monad)
via
ReaderT (IORef GHCiState) Ghc