in reply to Will Perl6 be able to do this kind of logic?
The first method notes that Bool is just an enum, and you can just as easily define your own enum enum TristateBool <False Undecided True>; and override the functions that now coerce to Bool to then coerce to TrisateBool.
Note that there's virtually nothing in Perl 6 that a builtin type can do that a user defined one can't - it's just a matter of effort.
The second method involves Junctions and "normal" Bools, by just saying that $undecided = any(True, False) and have Perl 6 working it out (it might involve some more tweaking, depending on what you actually want to achieve)
|
|---|