{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RequiredTypeArguments #-} module M where import Data.Proxy pattern Pro :: forall t -> Proxy t pattern Pro <- !_ where Pro t = Proxy @t