Don't forget litlit alternatives when deciding if an expression should
make its way into an interface file.
*please merge*
go (App fun arg) = go fun && go arg
go (Lam _ body) = go body
go (Let binds body) = and (map go (body :rhssOfBind binds))
- go (Case scrut bndr alts) = and (map go (scrut:rhssOfAlts alts))
+ go (Case scrut bndr alts) = and (map go (scrut:rhssOfAlts alts)) &&
+ not (any isLitLitLit [ lit | (LitAlt lit, _, _) <- alts ])
go (Note _ body) = go body
go (Type _) = True