Tail-recursive mapNoCopy and mapNoCopyList
Use List.rev_append from OCaml stdlib