mapi : (int -> 'a -> 'b) -> 'a list -> 'b list
# mapi (fun i x -> (i, x)) ["a"; "b"; "c"];; val it : (int * string) list = [(0, "a"); (1, "b"); (2, "c")] # mapi (fun i x -> x + i) [10; 20; 30];; val it : int list = [10; 21; 32] # mapi (fun i _ -> i) [5; 5; 5; 5];; val it : int list = [0; 1; 2; 3]