-- Generic type newtype Data a = Data {value :: a} -- Implement generic type conversion of `Data` instance Functor Data where fmap f (Data val) = Data (f val) -- >>> value ((*9) <$> (Data { value = 2 })) -- 18 --