You might consider using `not` in preference to `!` here, since `?` is being used at the same time.

It feels weird having (what appear to be) two unary operators attached to the same operand without the use of parens. (Although I realize here that `?` is not an operator.)