implementing `not`