fun mystery f [] = [] | mystery f (x::xs) = (f x) :: (mystery f xs);