=head1 DESCRIPTION
-This module provides an Array attribute which provides a number of
-array operations.
+This trait provides native delegation methods for array references.
+
+=head1 DEFAULT TYPE
+
+If you don't provide an C<isa> value for your attribute, it will default to
+C<ArrayRef>.
=head1 PROVIDED METHODS
=head1 DESCRIPTION
-This provides a simple boolean attribute, which supports most of the
-basic math operations.
+This trait provides native delegation methods for boolean values. A boolean is
+a scalar which can be C<1>, C<0>, C<"">, or C<undef>.
+
+=head1 DEFAULT TYPE
+
+If you don't provide an C<isa> value for your attribute, it will default to
+C<Bool>.
=head1 PROVIDED METHODS
=head1 DESCRIPTION
-This provides operations on coderef attributes.
+This trait provides native delegation methods for code references.
+
+=head1 DEFAULT TYPE
+
+If you don't provide an C<isa> value for your attribute, it will default to
+C<CodeRef>.
=head1 PROVIDED METHODS
=head1 DESCRIPTION
-This module provides a simple counter attribute, which can be
-incremented and decremented by arbitrary amounts. The default
-amount of change is one.
+This trait provides native delegation methods for counters. A counter can be
+any sort of number (integer or not). The delegation methods allow you to
+increment, decrement, or reset the value.
+
+=head1 DEFAULT TYPE
+
+If you don't provide an C<isa> value for your attribute, it will default to
+C<Num>.
=head1 PROVIDED METHODS
=head1 DESCRIPTION
-This module provides a Hash attribute which provides a number of
-hash-like operations.
+This trait provides native delegation methods for array references.
=head1 PROVIDED METHODS
=head1 DESCRIPTION
-This provides a simple numeric attribute, which supports most of the
-basic math operations.
+This trait provides native delegation methods for numbers. All of the
+operations correspond to arithmetic operations like addition or
+multiplication.
+
+=head1 DEFAULT TYPE
+
+If you don't provide an C<isa> value for your attribute, it will default to
+C<Num>.
=head1 PROVIDED METHODS
-It is important to note that all those methods do in place modification of the
-value stored in the attribute. These methods are implemented within this
-package.
+All of these methods modify the attribute's value in place. All methods return
+the new value.
=over 4
=item * B<add($value)>
-Adds the current value of the attribute to C<$value>. Returns the new value.
+Adds the current value of the attribute to C<$value>.
=item * B<sub($value)>
-Subtracts C<$value> from the current value of the attribute. Returns the new
-value.
+Subtracts C<$value> from the current value of the attribute.
=item * B<mul($value)>
-Multiplies the current value of the attribute by C<$value>. Returns the new
-value.
+Multiplies the current value of the attribute by C<$value>.
=item * B<div($value)>
-Divides the current value of the attribute by C<$value>. Returns the new
-value.
+Divides the current value of the attribute by C<$value>.
=item * B<mod($value)>
-Returns the current value of the attribute modulo C<$value>. Returns the new
-value.
+Returns the current value of the attribute modulo C<$value>.
=item * B<abs>
-Sets the current value of the attribute to its absolute value. Returns the new
-value.
+Sets the current value of the attribute to its absolute value.
=back
=head1 DESCRIPTION
-This module provides a simple string attribute, to which mutating string
-operations can be applied more easily (no need to make an lvalue attribute
-metaclass or use temporary variables). Additional methods are provided for
-completion.
-
-If your attribute definition does not include any of I<is>, I<isa>,
-I<default> or I<handles> but does use the C<String> metaclass,
-then this module applies defaults as in the L</SYNOPSIS>
-above. This allows for a very basic string definition:
-
- has 'foo' => (traits => ['String']);
- $obj->append_foo;
+This trait provides native delegation methods for strings.
+
+=head1 DEFAULT TYPE
+
+If you don't provide an C<isa> value for your attribute, it will default to
+C<Str>.
=head1 PROVIDED METHODS