typing :: Var v => Type v loc -> Type v loc -> Typing
typing newType oldType | Typechecker.isEqual newType oldType = Same
                       | Typechecker.isSubtype newType oldType = Subtype
                       | otherwise = Different
typing :: Var v => Type v loc -> Type v loc -> Typing
typing newType oldType | Typechecker.isEqual newType oldType = Same
                       | Typechecker.isSubtype newType oldType = Subtype
                       | otherwise = Different
typing newType oldType | Typechecker.isEqual newType oldType = Same
                       | Typechecker.isSubtype newType oldType = Subtype
                       | otherwise = Different