David Thompson

David Thompson at

I would just write factory procedures that do the 'make-as <class>' stuff.  Here's a translation of your example to something that I would prefer to read: http://paste.lisp.org/display/148732