-
-typeArity :: Type -> Arity
--- How many value arrows are visible in the type?
--- We look through foralls, but not through newtypes, dictionaries etc
-typeArity ty | Just ty' <- coreView ty = typeArity ty'
-typeArity (FunTy _ ty) = 1 + typeArity ty
-typeArity (ForAllTy _ ty) = typeArity ty
-typeArity _ = 0