not negates the given value.
(not true)➜false(not false)➜true
expris an arbitrary expressions.
not will evaluate the expression and error out if it errors out or its result
cannot be coalesced to a boolean. Otherwise, the negated boolish value is
returned.