It's not exactly a "normal" class IIRC - I believe each method is actually a class and method calls from the gen-class'ed class are delegated to them. This is to maintain the ability to replace these methods dynamically but it would be nice to be able to state that I don't want that behaviour. gen-class is a little odd to use, too. Again, it works but is just a little funky compared to the rest of the interop.