Incorrect parsing of a pattern synonym type
The following definition is accepted by GHC.
pattern Q :: a -> forall. (Bool -> a) pattern Q v <- (($ True) -> v)
What does this type signature mean? Who knows. It should be rejected for being an invalid form.
Maybe see #12108 (closed)