In this case, I think you may want to use just "Str" instead of "Nil".
"Str" is the "type object" for Str objects, and you can check whether
it's a string like "foo" or just the Str object by checking $!value.defined.
There's a FAQ answer that's about "Any", but it works the same way for
And there's the classtut that talks about this a bit more in depth,
search for "type object":
I hope this'll get you towards your goal. If not, just keep asking :)
Have fun with Perl 6!