Use structures for enums instead of classes.
Add qtype-name= for comparing types without allocating lisp strings.
Use it for type=
Add destructor-qmethod-p, check if the name of a method starts with ~
without allocating a lisp string.