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 for non-trivial cases, but it can be more precise for simple constructs (e.g. 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