extension.
Many of the Moose extensions on CPAN work by providing an attribute
-metaclass extension. For example, the L<MooseX::AttributeHelpers>
-distribution provides a new attribute metaclass that lets you delegate
-behavior to a non-object attribute (a hashref or simple number).
-(MooseX::AttributeHelpers has been deprecated in favour of
-L<Moose::Meta::Attribute::Native>, but can still serve as an example).
+metaclass extension. For example, the L<MooseX::Aliases> module
+provides an attribute metaclass trait that lets you specify aliases
+to install for methods and attribute accessors.
A metaclass extension can be packaged as a subclass or a
role/trait. If you can, we recommend using traits instead of
=head1 SEE ALSO
Many of the MooseX modules on CPAN implement metaclass extensions. A
-couple good examples include L<MooseX::Singleton> and
-L<MooseX::AttributeHelpers>. For a more complex example see
-L<Fey::ORM> or L<Reaction>.
+couple good examples include L<MooseX::Aliases> and
+L<MooseX::UndefTolerant>. For a more complex example see
+L<Fey::ORM> or L<Bread::Board::Declare>.
=cut