Currently, we permit functions to take on types like forall a b . a -> !Integer. Specifically, we allow the introduction of type variables that are never mentioned anywhere in the type. While harmless in itself, this is very strange and shouldn't really happen.
We need to check for these being introduced (either in the ASG construction functions or the renamer), and indicate that they make no sense.