random blinking without delay and blinking with delay in 1

Using "!" (not operator) is confusing since it is no boolean.

Is the use of the ! operator limited to booleans ? Answer, no.

As I said previously

To me it is blindingly obvious that "not HIGH" is LOW and "not LOW" is HIGH

How is that confusing ?