Kinda makes you wish you were writing lisp, huh?

All this dynamic method generation really bothers me, but I don't think there's a better way to do it :(