diff --git a/composition-extra.cabal b/composition-extra.cabal
--- a/composition-extra.cabal
+++ b/composition-extra.cabal
@@ -1,5 +1,5 @@
 name:                composition-extra
-version:             1.0.0.1
+version:             1.0.1
 synopsis:            Combinators for unorthodox structure composition
 
 license:             BSD3
@@ -16,6 +16,9 @@
   exposed-modules:     Data.Functor.Syntax
                        Data.Functor.Contravariant.Syntax
                        Data.Function.Contravariant.Syntax
+                       Data.Function.Flip
+                       Data.Function.Slip
+                       Data.Function.Twist
                        Control.Monad.Syntax
                        Control.Monad.Syntax.Two
                        Control.Monad.Syntax.Three
diff --git a/src/Data/Function/Flip.hs b/src/Data/Function/Flip.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Function/Flip.hs
@@ -0,0 +1,20 @@
+module Data.Function.Flip where
+
+
+(<->) :: (a -> b -> c) -> b -> a -> c
+(<->) = flip
+
+flip3 :: (a -> b -> c -> d) -> c -> b -> a -> d
+flip3 f c b a = f a b c
+
+(<-->) = flip3
+
+flip4  :: (a -> b -> c -> d -> e) -> d -> b -> c -> a -> e
+flip4 f d b c a = f a b c d
+
+(<--->) = flip4
+
+flip5   :: (a -> b -> c -> d -> e -> f) -> e -> b -> c -> d -> a -> f
+flip5 f e b c d a = f a b c d e
+
+(<---->) = flip5
diff --git a/src/Data/Function/Slip.hs b/src/Data/Function/Slip.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Function/Slip.hs
@@ -0,0 +1,34 @@
+-- | Bit-shift style argument re-arrangement
+
+module Data.Function.Slip where
+
+
+slipr :: (a -> b -> c -> d) -> b -> c -> a -> d
+slipr f b c a = f a b c
+
+(<~>>) = slipr
+
+slipl :: (a -> b -> c -> d) -> c -> a -> b -> d
+slipl f c a b = f a b c
+
+(<<~>) = slipl
+
+slipr4 :: (a -> b -> c -> d -> e) -> b -> c -> d -> a -> e
+slipr4 f b c d a = f a b c d
+
+(<~~>>) = slipr4
+
+slipl4 :: (a -> b -> c -> d -> e) -> d -> a -> b -> c -> e
+slipl4 f d a b c = f a b c d
+
+(<<~~>) = slipl4
+
+slipr5  :: (a -> b -> c -> d -> e -> f) -> b -> c -> d -> e -> a -> f
+slipr5 f b c d e a = f a b c d e
+
+(<~~~>>) = slipr5
+
+slipl5  :: (a -> b -> c -> d -> e -> f) -> e -> a -> b -> c -> d -> f
+slipl5 f e a b c d = f a b c d e
+
+(<<~~~>) = slipl5
diff --git a/src/Data/Function/Twist.hs b/src/Data/Function/Twist.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Function/Twist.hs
@@ -0,0 +1,42 @@
+module Data.Function.Twist where
+
+
+twist :: (a -> b -> c -> d -> e) -> c -> d -> a -> b -> e
+twist fun c d a b = fun a b c d
+
+(<<~~>>) = twist
+
+twist5r :: (a -> b -> c -> d -> e -> f) -> c -> d -> e -> a -> b -> f
+twist5r fun c d e a b = fun a b c d e
+
+(<<~~>>>) = twist5r
+
+twist5l :: (a -> b -> c -> d -> e -> f) -> d -> e -> a -> b -> c -> f
+twist5l fun d e a b c = fun a b c d e
+
+(<<<~~>>) = twist5l
+
+twist5 :: (a -> b -> c -> d -> e -> f) -> d -> e -> c -> a -> b -> f
+twist5 fun d e c a b = fun a b c d e
+
+(<<<-->>>) = twist5
+
+twist6 :: (a -> b -> c -> d -> e -> f -> g) -> d -> e -> f -> a -> b -> c -> g
+twist6 fun d e f a b c = fun a b c d e f
+
+(<<~~~>>) = twist6
+
+twist7r :: (a -> b -> c -> d -> e -> f -> g -> h) -> d -> e -> f -> g -> a -> b -> c -> h
+twist7r fun d e f g a b c = fun a b c d e f g
+
+(<<~~~>>>) = twist7r
+
+twist7l :: (a -> b -> c -> d -> e -> f -> g -> h) -> e -> f -> g -> a -> b -> c -> d -> h
+twist7l fun e f g a b c d = fun a b c d e f g
+
+(<<<~~~>>) = twist7l
+
+twist7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> e -> f -> g -> d -> a -> b -> c -> h
+twist7 fun e f g d a b c = fun a b c d e f g
+
+(<<<~~~>>>) = twist7
