sig val map2 : ('-> '-> 'c) -> 'a array -> 'b array -> 'c array end