=item *
+Magic is multivalued.
+
+You can safely apply different kinds of magics to the same variable, and each of them will be invoked successively.
+
+=item *
+
Magic is type-agnostic.
The same magic can be applied on scalars, arrays, hashes, subs or globs.
=item *
-Magic is invisible at the Perl level.
+Magic is invisible at Perl level.
Magical and non-magical variables cannot be distinguished with C<ref>, C<tied> or another trick.
I<free>
-This magic is called when an object is destroyed as the result of the variable going out of scope (but not when the variable is undefined).
+This magic is called when a variable is destroyed as the result of going out of scope (but not when it is undefined).
+It behaves roughly like Perl object destructors (i.e. C<DESTROY> methods), except that exceptions thrown from inside a I<free> callback will always be propagated to the surrounding code.
=item *