Actually in Scheme, #f is the only false value. (e.g. the documentation for "if" in racket [1] says: "If it produces any value other than #f, then then-expr is evaluated, and its results are the result for the if form. Otherwise, else-expr is evaluated, and its results are the result for the if form. The then-expr and else-expr are in tail position with respect to the if form.")
[1] http://docs.racket-lang.org/reference/if.html?q=if&q=fal...)