There are some problems though. First, you have a memory leak. If an object goes out of scope, you aren't cleaning up the attributes. To do so, write a DESTROY function (just like with Inside-Out objects). Second, you'll get a problem if you want to overload stringification.