\x -> 5 const 5 \x -> x id \x -> y const y \x y -> x const \x y -> y const id \x y -> 37 const (const 37) \x y z -> x (o) const const \x y z -> y const const \x y z -> z const (const id) \x y z -> 37 const (const (const 37)) \x y -> x y id \x y -> y x flip id \x y -> y 10 const (flip id 10) \f a b c d -> f b c d a (o) flip ((o) ((o) flip) ((o) ((o) flip))) \f x -> f x x join \f -> f f 10 flip (join id) 10