There's an article up at http://www.perl.com/lpt/a/2002/01/30/pmcs.html
which discusses the method used to implement complex data types in
parrot's register system, Parrot Magic Cookies (PMCs).

The article discusses how to create a new object type within the vm, and
gives a bit of additional explanation about PMCs.

If people are still thinking about cardinal, this may be of help.

-pate