sig val ( % ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b val ( %% ) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c val ( $ ) : ('a -> 'b) -> 'a -> 'b end