Control.Monad.Freer
class Member t r
type family Members m r :: Constraint
data Eff r a
run
send
data NonDetEff a
makeChoiceA
msplit