Sig.Backward_Arity
type 'r ar0 = 'r -> unit
type ('a, 'r) ar1 = 'a -> 'r -> 'a option
type ('a, 'b, 'r) ar2 = 'a -> 'b -> 'r -> 'a option * 'b option
type ('a, 'b, 'c, 'r) ar3 = 'a -> 'b -> 'c -> 'r -> 'a option * 'b option * 'c option