Consider Positional/Associative type parameters in optional defaults
Consider Positional/Associative type parameters in optional defaults

We need to copy type parameters for this; thankfully, the type of the
@/% must be of Positional/Associative, whose parameters correspond to
Array/Hash's, so methods for these are already defined.

Allows the following signatures to produce a typechecking error for $a
instead of @l or %h:

:(Str :@l, Str :$a)
:(Str :%h, Str :$a)
:(Str @l?, Str :$a)
:(Str %h?, Str :$a)

Preserving:

:3a5a90e4668e4112a67184bda480990ed4e25a18@l, Str :$a)
:(:%h, Str :$a)

rakudo/rakudo,salortiz/rakudo,rakudo/rakudo,tbrowder/rakudo,tbrowder/rakudo,labster/rakudo,tbrowder/rakudo,tbrowder/rakudo,MasterDuke17/rakudo,tbrowder/rakudo,labster/rakudo,rakudo/rakudo,MasterDuke17/rakudo,MasterDuke17/rakudo,salortiz/rakudo,labster/rakudo,tbrowder/rakudo,labster/rakudo,rakudo/rakudo,rakudo/rakudo,salortiz/rakudo,MasterDuke17/rakudo,rakudo/rakudo,MasterDuke17/rakudo,salortiz/rakudo,salortiz/rakudo,salortiz/rakudo,labster/rakudo,labster/rakudo,MasterDuke17/rakudo