let constant x _ = x let compose = fun f g x -> f (g x) let (>|) = compose let compose_2 = fun f g x y -> f (g x y) let compose_3 = fun f g x y z -> f (g x y z) let compose_4 = fun f g a b c d -> f (g a b c d)