Modality

Can and Must

Boxes and diamonds are great primitives for writing about necessity and possibility, but Modality offers us the macros must and can to make our code more widely accessible.

Must

Writing a rule that requires something to happen awkwardly involves a box, negation, and false:

[-audit] false

Modality provides a macro to make such rules more idiomatic:

must +audit

Can

Possibility is fairly simple to convey with a diamond and true:

<+review> true

Modality, however, also provides a macro to make rules about possibility more idiomatic:

can +review