We will try to nail those down a little better in Perl 6. Returning the null string for false was a premature optimization on my part, and a false economy (as it were), so the standard boolean operators will return 0 and 1
in Perl 6 so that when you print them out, they look like something rather than nothing. Also, since Perl 6 distinguishes boolean from numeric and string contexts, it can optimize away the actual production of a 0 or 1 value in many cases.
That's not to say that we're ever going to require people to use 0 and 1 for boolean values. Perl 6 will be just like Perl 5 in letting you treat just about anything as a boolean value. So non-zero numbers are still true, as are strings that aren't null or "0". And maybe we can fix the "0" problem too.