I did something like that a while back, just out of
curiosity... A colleague had shared a github project for reading a legacy
xml format, in Java, and I wanted to try run-time class definition on
this problem.
I never tried to run his original code (as I didn't want to
install Eclipse just for that), but... his code ran to 3767 lines; mine
was less than 100 lines of Lisp. Of those, 30 were for functionality
that would be useful outside that particular setting (basically, a
defmethod for slot-missing that would add slots to the class as
required, plus support code.)