func :: (a -> a) -> a