
Xs::object::magic provides a way of associating structs with perl space objects designed to supercede perl's builtin "t_ptrobj" with something that is designed to be:
* extensible: the association of the pointer using "sv_magicext" can be
done on any data type, so you can associate c structs with any
representation type. this means that you can add pointers to any object
(hand coded, moose or otherwise), while still having instance data in
regular hashes.
* opaque: the c pointer is neither visible nor modifiable from perl space.
this prevents accidental corruption which could lead to segfaults using
"t_ptrobj" (e.g. "$$ptr_obj = 0").