+The exact opposite of L</cast> : it dissociates C<$wiz> magic from the variable.
+This function returns true on success, C<0> when no magic represented by C<$wiz> could be found in the variable, and croaks if the supplied wizard is invalid.
+
+ # Dispell now.
+ die 'no such magic in $x' unless dispell $x, $wiz;
+
+=head1 CONSTANTS
+
+=head2 C<MGf_COPY>
+
+Evaluates to true if and only if the I<copy> magic is available.
+This is the case for perl 5.7.3 and greater, which is ensured by the requirements of this module.
+
+=head2 C<MGf_DUP>
+
+Evaluates to true if and only if the I<dup> magic is available.
+This is the case for perl 5.7.3 and greater, which is ensured by the requirements of this module.
+
+=head2 C<MGf_LOCAL>
+
+Evaluates to true if and only if the I<local> magic is available.
+This is the case for perl 5.9.3 and greater.
+
+=head2 C<VMG_UVAR>
+
+When this constant is true, you can use the I<fetch>, I<store>, I<exists> and I<delete> magics on hashes.
+Initial L</VMG_UVAR> capability was introduced in perl 5.9.5, with a fully functional implementation shipped with perl 5.10.0.
+
+=head2 C<VMG_COMPAT_SCALAR_LENGTH_NOLEN>
+
+True for perls that don't call I<len> magic when taking the C<length> of a magical scalar.
+
+=head2 C<VMG_COMPAT_SCALAR_NOLEN>
+
+True for perls that don't call I<len> magic on scalars.
+Implies L</VMG_COMPAT_SCALAR_LENGTH_NOLEN>.
+
+=head2 C<VMG_COMPAT_ARRAY_PUSH_NOLEN>
+
+True for perls that don't call I<len> magic when you push an element in a magical array.
+Starting from perl 5.11.0, this only refers to pushes in non-void context and hence is false.
+
+=head2 C<VMG_COMPAT_ARRAY_PUSH_NOLEN_VOID>
+
+True for perls that don't call I<len> magic when you push in void context an element in a magical array.
+
+=head2 C<VMG_COMPAT_ARRAY_UNSHIFT_NOLEN_VOID>
+
+True for perls that don't call I<len> magic when you unshift in void context an element in a magical array.
+
+=head2 C<VMG_COMPAT_ARRAY_UNDEF_CLEAR>
+
+True for perls that call I<clear> magic when undefining magical arrays.
+
+=head2 C<VMG_COMPAT_HASH_DELETE_NOUVAR_VOID>
+
+True for perls that don't call I<delete> magic when you delete an element from a hash in void context.
+
+=head2 C<VMG_COMPAT_CODE_COPY_CLONE>
+
+True for perls that call I<copy> magic when a magical closure prototype is cloned.
+
+=head2 C<VMG_COMPAT_GLOB_GET>
+
+True for perls that call I<get> magic for operations on globs.
+
+=head2 C<VMG_PERL_PATCHLEVEL>
+
+The perl patchlevel this module was built with, or C<0> for non-debugging perls.
+
+=head2 C<VMG_THREADSAFE>
+
+True if and only if this module could have been built with thread-safety features enabled.
+
+=head2 C<VMG_FORKSAFE>
+
+True if and only if this module could have been built with fork-safety features enabled.
+This is always true except on Windows where it is false for perl 5.10.0 and below.
+
+=head2 C<VMG_OP_INFO_NAME>
+
+Value to pass with C<op_info> to get the current op name in the magic callbacks.
+
+=head2 C<VMG_OP_INFO_OBJECT>
+
+Value to pass with C<op_info> to get a C<B::OP> object representing the current op in the magic callbacks.
+
+=head1 COOKBOOK
+
+=head2 Associate an object to any perl variable
+
+This technique can be useful for passing user data through limited APIs.
+It is similar to using inside-out objects, but without the drawback of having to implement a complex destructor.
+
+ {
+ package Magical::UserData;