sig
exception NoLetAnnotation of string
type result = { typevar : Inf.Vars.TVar.t; }
type changed = {
location : Inf.Type.phi;
lenv : Inf.Vars.LEVar.t;
tenv : TEnv.t;
}
val create_e :
TEnv.t ->
Inf.Vars.LEVar.t -> Syntax.e -> Gen.Gen.result * Gen.Gen.changed
val create_s :
TEnv.t ->
Inf.Vars.LEVar.t ->
Syntax.s -> Gen.Gen.result * Inf.Type.phi * Inf.Vars.LEVar.t
val create_v : TEnv.t -> Inf.Vars.LEVar.t -> Syntax.v -> Gen.Gen.result
end