=head1 CAVEATS
-For C<perl> to be able to parse C<my Str $x>, you need :
-
-=over 4
-
-=item *
-
-either the C<Str> package to be defined ;
-
-=item *
-
-or for C<Str> to be a constant sub returning a valid defined package.
-
-=back
-
The restrictions on the type (being either a defined package name or a constant) apply even if you use the C<'as'> option to redirect to another package, and are unlikely to find a workaround as this happens deep inside the lexer - far from the reach of an extension.
Only one mangler or prefix can be in use at the same time in a given scope.