{-# LANGUAGE DeepSubsumption #-} module M where foo :: (forall a. a -> (a -> String) -> String) -> String foo = undefined