module Data.Function.Twist where


twist :: (a -> b -> c -> d -> e) -> c -> d -> a -> b -> e
twist :: forall a b c d e. (a -> b -> c -> d -> e) -> c -> d -> a -> b -> e
twist a -> b -> c -> d -> e
fun c
c d
d a
a b
b = a -> b -> c -> d -> e
fun a
a b
b c
c d
d

<<~~>> :: (a -> b -> c -> d -> e) -> c -> d -> a -> b -> e
(<<~~>>) = forall a b c d e. (a -> b -> c -> d -> e) -> c -> d -> a -> b -> e
twist

infixl 8 <<~~>>


twist5r :: (a -> b -> c -> d -> e -> f) -> c -> d -> e -> a -> b -> f
twist5r :: forall a b c d e f.
(a -> b -> c -> d -> e -> f) -> c -> d -> e -> a -> b -> f
twist5r a -> b -> c -> d -> e -> f
fun c
c d
d e
e a
a b
b = a -> b -> c -> d -> e -> f
fun a
a b
b c
c d
d e
e

<<~~>>> :: (a -> b -> c -> d -> e -> f) -> c -> d -> e -> a -> b -> f
(<<~~>>>) = forall a b c d e f.
(a -> b -> c -> d -> e -> f) -> c -> d -> e -> a -> b -> f
twist5r

infixl 8 <<~~>>>


twist5l :: (a -> b -> c -> d -> e -> f) -> d -> e -> a -> b -> c -> f
twist5l :: forall a b c d e f.
(a -> b -> c -> d -> e -> f) -> d -> e -> a -> b -> c -> f
twist5l a -> b -> c -> d -> e -> f
fun d
d e
e a
a b
b c
c = a -> b -> c -> d -> e -> f
fun a
a b
b c
c d
d e
e

<<<~~>> :: (a -> b -> c -> d -> e -> f) -> d -> e -> a -> b -> c -> f
(<<<~~>>) = forall a b c d e f.
(a -> b -> c -> d -> e -> f) -> d -> e -> a -> b -> c -> f
twist5l

infixl 8 <<<~~>>


twist5 :: (a -> b -> c -> d -> e -> f) -> d -> e -> c -> a -> b -> f
twist5 :: forall a b c d e f.
(a -> b -> c -> d -> e -> f) -> d -> e -> c -> a -> b -> f
twist5 a -> b -> c -> d -> e -> f
fun d
d e
e c
c a
a b
b = a -> b -> c -> d -> e -> f
fun a
a b
b c
c d
d e
e

<<<~~>>> :: (a -> b -> c -> d -> e -> f) -> d -> e -> c -> a -> b -> f
(<<<~~>>>) = forall a b c d e f.
(a -> b -> c -> d -> e -> f) -> d -> e -> c -> a -> b -> f
twist5

infixl 8 <<<~~>>>


twist6 :: (a -> b -> c -> d -> e -> f -> g) -> d -> e -> f -> a -> b -> c -> g
twist6 :: forall a b c d e f g.
(a -> b -> c -> d -> e -> f -> g)
-> d -> e -> f -> a -> b -> c -> g
twist6 a -> b -> c -> d -> e -> f -> g
fun d
d e
e f
f a
a b
b c
c = a -> b -> c -> d -> e -> f -> g
fun a
a b
b c
c d
d e
e f
f

<<~~~>> :: (a -> b -> c -> d -> e -> f -> g)
-> d -> e -> f -> a -> b -> c -> g
(<<~~~>>) = forall a b c d e f g.
(a -> b -> c -> d -> e -> f -> g)
-> d -> e -> f -> a -> b -> c -> g
twist6

infixl 8 <<~~~>>


twist7r :: (a -> b -> c -> d -> e -> f -> g -> h) -> d -> e -> f -> g -> a -> b -> c -> h
twist7r :: forall a b c d e f g h.
(a -> b -> c -> d -> e -> f -> g -> h)
-> d -> e -> f -> g -> a -> b -> c -> h
twist7r a -> b -> c -> d -> e -> f -> g -> h
fun d
d e
e f
f g
g a
a b
b c
c = a -> b -> c -> d -> e -> f -> g -> h
fun a
a b
b c
c d
d e
e f
f g
g

<<~~~>>> :: (a -> b -> c -> d -> e -> f -> g -> h)
-> d -> e -> f -> g -> a -> b -> c -> h
(<<~~~>>>) = forall a b c d e f g h.
(a -> b -> c -> d -> e -> f -> g -> h)
-> d -> e -> f -> g -> a -> b -> c -> h
twist7r

infixl 8 <<~~~>>>


twist7l :: (a -> b -> c -> d -> e -> f -> g -> h) -> e -> f -> g -> a -> b -> c -> d -> h
twist7l :: forall a b c d e f g h.
(a -> b -> c -> d -> e -> f -> g -> h)
-> e -> f -> g -> a -> b -> c -> d -> h
twist7l a -> b -> c -> d -> e -> f -> g -> h
fun e
e f
f g
g a
a b
b c
c d
d = a -> b -> c -> d -> e -> f -> g -> h
fun a
a b
b c
c d
d e
e f
f g
g

<<<~~~>> :: (a -> b -> c -> d -> e -> f -> g -> h)
-> e -> f -> g -> a -> b -> c -> d -> h
(<<<~~~>>) = forall a b c d e f g h.
(a -> b -> c -> d -> e -> f -> g -> h)
-> e -> f -> g -> a -> b -> c -> d -> h
twist7l

infixl 8 <<<~~~>>


twist7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> e -> f -> g -> d -> a -> b -> c -> h
twist7 :: forall a b c d e f g h.
(a -> b -> c -> d -> e -> f -> g -> h)
-> e -> f -> g -> d -> a -> b -> c -> h
twist7 a -> b -> c -> d -> e -> f -> g -> h
fun e
e f
f g
g d
d a
a b
b c
c = a -> b -> c -> d -> e -> f -> g -> h
fun a
a b
b c
c d
d e
e f
f g
g

<<<~~~>>> :: (a -> b -> c -> d -> e -> f -> g -> h)
-> e -> f -> g -> d -> a -> b -> c -> h
(<<<~~~>>>) = forall a b c d e f g h.
(a -> b -> c -> d -> e -> f -> g -> h)
-> e -> f -> g -> d -> a -> b -> c -> h
twist7

infixl 8 <<<~~~>>>