module Unison.Codebase.TermEdit.Typing where import Unison.Codebase.TermEdit (Typing (Different, Same, Subtype)) import Unison.Type (Type) import Unison.Typechecker qualified as Typechecker import Unison.Var (Var) typing :: (Var v) => Type v loc -> Type v loc -> Typing typing :: forall v loc. Var v => Type v loc -> Type v loc -> Typing typing Type v loc newType Type v loc oldType | Type v loc -> Type v loc -> Bool forall v loc. Var v => Type v loc -> Type v loc -> Bool Typechecker.isEqual Type v loc newType Type v loc oldType = Typing Same | Type v loc -> Type v loc -> Bool forall v loc. Var v => Type v loc -> Type v loc -> Bool Typechecker.isSubtype Type v loc newType Type v loc oldType = Typing Subtype | Bool otherwise = Typing Different