Module List.Smart

val map : ('a -> 'a) -> 'a list -> 'a list

Smart.map f [a1...an] = List.map f [a1...an] but if for all i f ai == ai, then Smart.map f l == l