CLib.C : ('a -> 'b -> 'c) -> 'b -> 'a -> 'c
Permutes first two arguments to curried function:
C f x y equals f y x.
C f never fails and C f x never fails, but
C f x y fails if f y x fails.
- map (C cons []) [1,2,3];
> val it = [[1], [2], [3]] : int list list