Safe Haskell | None |
---|---|
Language | Haskell2010 |
Control.Monad.Shuffle
Documentation
shuffleJoin :: (Shuffle n1 m2, PolyMonad m1 m2, PolyMonad n1 n2, Functor m1, Functor mout, mout ~ PolyBind m1 m2, nout ~ PolyBind n1 n2) => m1 (n1 (m2 (n2 a))) -> mout (nout a) Source