We need to fully evaluate, not just the public export names, otherwise we don't pattern match properly and potentially generate catch all patterns we don't mean. Fixes #1537