1234567891011121314151617181920212223242526272829(** Declaration interface types *)openProperties_intftype'akind='aProperties_intf.kind(* [hash] is a structural fingerprint of the declaration, fixed at construction.
The optimizer's inner-loop equality ([Optimize.same_minified_declaration])
consults it so an inequality verdict is one field load + int compare instead
of walking the value AST. Computed eagerly by the [Declaration.v] /
[Declaration.theme_guarded] smart constructors -- every code path that builds
a declaration must go through them so the field stays consistent with the
[(property, value, important)] / [(var_name, decl)] payload. *)typedeclaration=|Declaration:{property:'aproperty;value:'a;important:bool;hash:int;}->declaration|Theme_guarded:{var_name:string;decl:declaration;hash:int;}->declarationtypet=declaration