-- | This module exports functions, types, and typeclasses necessary for -- implementing a custom effect and/or effect handler. -- module Control.Eff.Extend ( -- * The effect monad Eff(..) , run -- * Open Unions , OpenUnion.Union , OpenUnion.Member , inj , prj , decomp , SetMember , weaken -- * Helper functions that are used for implementing effect-handlers , handle_relay , handle_relay_s , interpose , raise , send -- * Arrow types and compositions , Arr , Arrs , first , singleK , qApp , (^$) , arr , ident , comp , (^|>) , qComp , qComps ) where import Data.OpenUnion as OpenUnion import Control.Eff.Internal