/*NOTREACHED*/ is more strongly preferred than allowed, so rather than
use 'may' to grant permission, use 'should' to express desired (but not
mandatory) behavior.
Declarations of variables must be placed before the executable lines of
a block, by convention. Use 'must' instead of 'may' here and clarify wording.