Comment 2 for bug 1796568

Bug pinpointed.

https://github.com/sbcl/sbcl/blob/master/src/pcl/std-class.lisp#L1299

This assumes that (CLASS-NAME CLASS) is a symbol, which conflicts with the MOP passages stated above.

A possible fix would be changing

  (list (or (class-name class) 'object))

to

  (list (let ((name (class-name class))) (if (and name (symbolp name)) name 'object)))