A prime example of how an inconsistent .hi-boot file can really ruin
your day: the definition of CoreRules in CoreSyn.hi-boot was out of
sync with the real one, which meant that the compiler generated the
wrong code for a `seq` on something of type CoreRules.
1 data Expr b ;
1 data CoreRule ;
-1 type CoreRules = [CoreRule] ;
+1 data CoreRules = Rules [CoreRule] VarSet.IdOrTyVarSet ;;
1 emptyCoreRules _:_ CoreRules ;;
1 seqRules _:_ CoreRules -> PrelBase.() ;;
1 isEmptyCoreRules _:_ CoreRules -> PrelBase.Bool ;;
1 data Expr b ;
1 data CoreRule ;
-1 type CoreRules = [CoreRule] ;
+1 data CoreRules = Rules [CoreRule] VarSet.IdOrTyVarSet ;
1 emptyCoreRules :: CoreRules ;
1 seqRules :: CoreRules -> PrelBase.Z0T ;
1 isEmptyCoreRules :: CoreRules -> PrelBase.Bool ;