Recommended practice: For all enumerations in [support.contract.enum],
if implementation-defined enumerators are provided,
they should have a minimum value of 1000.
The enumerators of assertion_kind
correspond to
the syntactic forms of a contract assertion ([basic.contract.general]),
with meanings listed in Table 44.
The enumerators of evaluation_semantic
correspond to
the evaluation semantics with which
a contract assertion may be evaluated ([basic.contract.eval]),
with meanings listed in Table 45.
The enumerators of detection_mode correspond to the manners in which a
contract violation can be identified ([basic.contract.eval]), with
meanings listed in Table 46.