> わざわざ式の真偽を考える必要はないし、nonzero を true と捉える必要も無い。

!は真偽値を扱いたいという素直な表れでは?