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 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 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