>because ! (aka, fn-%not) is implemented in terms of false. It doesn't need to be. fn-%not = $&noreturn @ { if { $* } { result 1 } { result 0 } } But of course, that means {result 1} is either going to wind up in `%not' or in `false' itself. Take your pick.