Module Typedecl_properties

type (!'prop, !'req) property = {
  1. eq : 'prop -> 'prop -> bool;
  2. merge : prop:'prop -> new_prop:'prop -> 'prop;
  3. default : decl -> 'prop;
  4. compute : Env.t -> decl -> 'req -> 'prop;
  5. update_decl : decl -> 'prop -> decl;
  6. check : Env.t -> Ident.t -> decl -> 'req -> unit;
}
val compute_property : ('prop, 'req) property -> Env.t -> (Ident.t * decl) list -> 'req list -> (Ident.t * decl) list
val compute_property_noreq : ('prop, unit) property -> Env.t -> (Ident.t * decl) list -> (Ident.t * decl) list