Option.Smart
val map : ( 'a -> 'a ) -> 'a option -> 'a option
Smart.map f x does the same as map f x except that it tries to share some memory.
Smart.map f x
map f x