I think the idea of "The expected semantics of &.() is that of a type
coercion..." confuses the notion of function call and conversion. If anything
other than a Code object has one, it is acting as a functor, or function-like
object. The meaning of Dog(args) is seemingly a class method anyway,
Perl 6 has a concept of a "candidate list". The candidate list are those that
could handle the call, typically inherited methods and multi variations.
It seems that multi variations, at least with respect to the semicolon
parameters, compare the actual type and drop out of the list if any don