Mlsem_system.Refinementmodule Refinements : sig ... endval typeof_def : Mlsem_common.Env.t -> Ast.t -> Mlsem_types.TyScheme.ttypeof_def env e returns an approximation of the type of the definition e under the environment env. This approximation is TyScheme.any in most cases, but it can be more precise for simple definitions used to encode pattern matching (variables, casts, projections) or in the presence of user type annotations (coercions).
val refine :
Mlsem_common.Env.t ->
Ast.t ->
Mlsem_types.Ty.t ->
Mlsem_common.REnv.tval refinements :
?extra_checks:(Mlsem_common.Eid.t * Mlsem_types.Ty.t) list ->
?refine_on_typecases:bool ->
?refine_on_casts:bool ->
Mlsem_common.Env.t ->
Ast.t ->
Refinements.tmodule Partitioner : sig ... end