Module Array.Fun1
The functions defined in this module are the same as the main ones, except that they are all higher-order, and their function arguments have an additional parameter. This allows us to prevent closure creation in critical cases.
val iter2 : ('r -> 'a -> 'b -> unit) -> 'r -> 'a array -> 'b array -> unit
Fun1.iter2 f x v1 v2 = iter (f x) v1 v2
module Smart : sig ... end