Module Mlsem_system.Refinement

module Refinements : sig ... end

typeof_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 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.t
module Partitioner : sig ... end