sig type ('a, 'b) t val map : ('a -> 'b) -> ('c -> 'd) -> ('a, 'c) Bindlib.Map2.t -> ('b, 'd) Bindlib.Map2.t end