sig type 'a t val map2 : ('a -> 'b -> 'c) -> 'a UtilsLib.ImArray.t -> 'b UtilsLib.ImArray.t -> 'c UtilsLib.ImArray.t end