Rule selection test was exactly backwards
| null gates' = (pool, rule:if_rules)
| otherwise = ((gates',rule) : pool, if_rules)
where
| null gates' = (pool, rule:if_rules)
| otherwise = ((gates',rule) : pool, if_rules)
where
- gates' = filter (`elemNameEnv` type_env) gates
+ gates' = filter (not . (`elemNameEnv` type_env)) gates
tcIfaceRule :: IfaceRule -> IfL IdCoreRule
tcIfaceRule :: IfaceRule -> IfL IdCoreRule