=head2 The 'meta' keyword
-While most collisions can be avoided, you cannot avoid importing a
-C<meta> method when you C<S<use Moose>>. If you try to override or
-change what C<meta> does, you could end up breaking Moose internals.
+C<S<use Moose>> adds a method called C<meta> to your class. If this
+conflicts with a method or function you are using, you can rename it,
+or prevent it from being installed entirely. To do this, pass the
+C<-meta_name> option when you C<S<use Moose>>. For instance:
+
+ # install it under a different name
+ use Moose -meta_name => 'moose_meta';
+
+ # don't install it at all
+ use Moose -meta_name => undef;
=head2 Moose Keywords
=item maybe_type
+=item duck_type
+
=item as
=item where
=item optimize_as
+=item inline_as
+
=item coerce
=item from
See the L<Sub::Exporter> docs for more information.
-=head3 namespace::clean
+=head3 namespace::autoclean and namespace::clean
+
+You can also use L<namespace::autoclean> to clean up your namespace.
+This will remove all imported functions from your namespace. Note
+that if you are importing functions that are intended to be used as
+methods (this includes L<overload>, due to internal implementation
+details), it will remove these as well.
-You can also use L<namespace::clean> to clean up your namespace, but
+Another option is to use L<namespace::clean> directly, but
you must be careful not to remove C<meta> when doing so:
package Foo;
=item L<Sub::Exporter>
+=item L<namespace::autoclean>
+
=item L<namespace::clean>
=back