Upon further review: It might be possible that $x.WHAT returns a Signature object, with the value type of $x as the invocant (or return type?), and everything else empty. But that merely begs the question of how to introspect a Signature object. If I tell Perl 6 to say a Signature, what gets displayed? Can I ask Perl 6 to look at a particular parameter in a Signature? If so, what kind of object does the Signature object return if I ask it to give me its invocant? Surely not another Signature object? Whatever it is that Perl 6 returns in that case would probably work better as the return type of the .WHAT method, too.
-- Jonathan "Dataweaver" Lang