It doesn't make sense to have something called a "Requirement" that is not
actually required, unless you explicitly set a "yes-I-really-mean-it" flag.
It's better to make the sensible case the default (Requirement means it's
required), and have non-required requirements as the exception.
It turns out that most requirements used in formulas are in fact required,
so the sensible case is also the common one.
It also turns out that most non-fatal requirements are that way because we
are not sure if they really are required or not, so for now we just display
a vague message saying things may work or not. Other times, the message says
the requirement is required, but the code left it non-fatal for unclear
reasons (possibly no reason). For these reasons, a non-fatal requirement is
likely to be a "code smell", and it's useful to make it explicit, so we can
grep for it and improve the affected formulas.