module Control.Monad.Syntax.Six where


(======<<) :: Monad m =>
              (a -> b -> c -> d -> e -> f -> m g)
           -> m a
           -> b -> c -> d -> e -> f -> m g
======<< :: forall (m :: * -> *) a b c d e f g.
Monad m =>
(a -> b -> c -> d -> e -> f -> m g)
-> m a -> b -> c -> d -> e -> f -> m g
(======<<) a -> b -> c -> d -> e -> f -> m g
mf m a
x b
b c
c d
d e
e f
f = m a
x forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\a
a -> a -> b -> c -> d -> e -> f -> m g
mf a
a b
b c
c d
d e
e f
f)

infixr 1 ======<<

(=.====<<) :: Monad m =>
              (a -> b -> c -> d -> e -> f -> m g)
           -> m b
           -> a -> c -> d -> e -> f -> m g
=.====<< :: forall (m :: * -> *) a b c d e f g.
Monad m =>
(a -> b -> c -> d -> e -> f -> m g)
-> m b -> a -> c -> d -> e -> f -> m g
(=.====<<) a -> b -> c -> d -> e -> f -> m g
mf m b
x a
a c
c d
d e
e f
f = m b
x forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\b
b -> a -> b -> c -> d -> e -> f -> m g
mf a
a b
b c
c d
d e
e f
f)

infixr 1 =.====<<

(==.===<<) :: Monad m =>
              (a -> b -> c -> d -> e -> f -> m g)
           -> m c
           -> a -> b -> d -> e -> f -> m g
==.===<< :: forall (m :: * -> *) a b c d e f g.
Monad m =>
(a -> b -> c -> d -> e -> f -> m g)
-> m c -> a -> b -> d -> e -> f -> m g
(==.===<<) a -> b -> c -> d -> e -> f -> m g
mf m c
x a
a b
b d
d e
e f
f = m c
x forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\c
c -> a -> b -> c -> d -> e -> f -> m g
mf a
a b
b c
c d
d e
e f
f)

infixr 1 ==.===<<

(===.==<<) :: Monad m =>
              (a -> b -> c -> d -> e -> f -> m g)
           -> m d
           -> a -> b -> c -> e -> f -> m g
===.==<< :: forall (m :: * -> *) a b c d e f g.
Monad m =>
(a -> b -> c -> d -> e -> f -> m g)
-> m d -> a -> b -> c -> e -> f -> m g
(===.==<<) a -> b -> c -> d -> e -> f -> m g
mf m d
x a
a b
b c
c e
e f
f = m d
x forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\d
d -> a -> b -> c -> d -> e -> f -> m g
mf a
a b
b c
c d
d e
e f
f)

infixr 1 ===.==<<

(====.=<<) :: Monad m =>
              (a -> b -> c -> d -> e -> f -> m g)
           -> m e
           -> a -> b -> c -> d -> f -> m g
====.=<< :: forall (m :: * -> *) a b c d e f g.
Monad m =>
(a -> b -> c -> d -> e -> f -> m g)
-> m e -> a -> b -> c -> d -> f -> m g
(====.=<<) a -> b -> c -> d -> e -> f -> m g
mf m e
x a
a b
b c
c d
d f
f = m e
x forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\e
e -> a -> b -> c -> d -> e -> f -> m g
mf a
a b
b c
c d
d e
e f
f)

infixr 1 ====.=<<

(=====.<<) :: Monad m =>
              (a -> b -> c -> d -> e -> f -> m g)
           -> m f
           -> a -> b -> c -> d -> e -> m g
=====.<< :: forall (m :: * -> *) a b c d e f g.
Monad m =>
(a -> b -> c -> d -> e -> f -> m g)
-> m f -> a -> b -> c -> d -> e -> m g
(=====.<<) a -> b -> c -> d -> e -> f -> m g
mf m f
x a
a b
b c
c d
d e
e = m f
x forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= a -> b -> c -> d -> e -> f -> m g
mf a
a b
b c
c d
d e
e

infixr 1 =====.<<