=over 8
-=item -
+=item *
C<len>
-When the variable is an array, C<$_[2]> contains the normal length.
-The callback is also expected to return the new scalar or array length.
+When the variable is an array or a scalar, C<$_[2]> contains the non-magical length.
+The callback can return the new scalar or array length to use, or C<undef> to default to the normal length.
-=item -
+=item *
C<copy>
C<$_[2]> is a either a copy or an alias of the current key, which means that it is useless to try to change or cast magic on it.
C<$_[3]> is an alias to the current element (i.e. the value).
-=item -
+=item *
C<fetch>, C<store>, C<exists> and C<delete>