I'm on Emacs 28.0.50. I believe cl-print-object method code is not used when it should be. emacs -Q C-x b *scratch* RET (require 'eieio) C-x C-e RET (defclass test nil nil) C-x C-e RET (defmethod cl-print-object ((x test) s) (princ "#" s)) C-x C-e RET (make-feature 'test) RET C-u C-x C-e For me, this prints like a structure (?): #s(test) Now, C-x 3 M-x ielm RET (make-feature 'test) RET This does make use of cl-print-object method: # Structure method seems to also be used in org-babel evaluations.