let rev_enumerate l = let _, l' = List.fold_left (fun (e, accum) x -> e + 1, (e, x) :: accum) (0, []) l in l'