Note [Zonking the LHS of a RULE]

GHC/Tc/Zonk/Type.hs:1922 compiler

See also GHC.HsToCore.Binds Note [Free tyvars on rule LHS]

We need to gather the type variables mentioned on the LHS so we can
quantify over them.  Example:
  data T a = C

  foo :: T a -> Int
  foo C = 1

  {-# RULES "myrule"  foo C = 1 #

References 1

Referenced by 2