@@ -421,6 +421,7 @@ pairwise p (x : xs) = all (p x) xs && pairwise p xs
421-- Check that two types unify
421-- Check that two types unify
423unifiesWith :: Environment -> Type -> Type -> Bool
423unifiesWith :: Environment -> Type -> Type -> Bool
424+unifiesWith _ (TUnknown u1) (TUnknown u2) | u1 == u2 = True
424unifiesWith _ (Skolem _ s1 _) (Skolem _ s2 _) | s1 == s2 = True
425unifiesWith _ (Skolem _ s1 _) (Skolem _ s2 _) | s1 == s2 = True
425unifiesWith _ (TypeVar v1) (TypeVar v2) | v1 == v2 = True
426unifiesWith _ (TypeVar v1) (TypeVar v2) | v1 == v2 = True
426unifiesWith _ (TypeConstructor c1) (TypeConstructor c2) | c1 == c2 = True
427unifiesWith _ (TypeConstructor c1) (TypeConstructor c2) | c1 == c2 = True