deriving-trans-0.6.0.0: src/Control/Monad/Select/OrphanInstances.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Control.Monad.Select.OrphanInstances where
import Control.Monad.Select
import Control.Monad.Trans.Control.Identity
import qualified Control.Monad.Trans.Select as T
import Data.Functor.Identity
instance MonadBaseControlIdentity Identity m => MonadSelect r (T.SelectT r m) where
select f = T.SelectT $ \ k -> liftBaseWithIdentity $ \runInIdentity ->
Identity $ f $ runIdentity . runInIdentity . k