The attached patch adds useful functionality to the module to allow
truer substitution of one module for another by twiddling %INC.
If &alias works can be used at run/INIT/BEGIN- time, it may want to be
explicitly documented?

Doh, probably want to remove the
warn "foo\n";
A debug line from trying to figure out why it doesn't work with aliasing
Mouse to Moose. Apparently Mouse makes some gross assumptions about how
thing should be done, and does lots of deep magic to prevent this from
working. Normal stuff aliases with use fine though.

More robust implementation.
Turns out INIT wasn't the solution, and there was no way to make Mouse
happy within the module itself, because of use's calls to import...
so a work-around was found and documented.
The Mouse work-around is unfortunately kind of large,
but I've suggested to the Mouse maintainers that Any::Moose
be switched to use Package:::Alias and obscure that from the end-user,
at which point it could be removed and a simple SEE ALSO be added.

> More robust implementation.
>
> Turns out INIT wasn't the solution, and there was no way to make Mouse
> happy within the module itself, because of use's calls to import...
> so a work-around was found and documented.
>
> The Mouse work-around is unfortunately kind of large,
> but I've suggested to the Mouse maintainers that Any::Moose
> be switched to use Package:::Alias and obscure that from the end-user,
> at which point it could be removed and a simple SEE ALSO be added.

0.11 patch accepted, merged into mainline, and released to CPAN as Package-Alias-0.12.
Thanks!