While working with cl-types.el I discovered a nasty side effect of byte compilation on the cl--type-list. I can't explain what is going on :-( Here is a recipe: - run emacs -Q - load cl-type.el (the last version previously attached) - load cl-type-recipe.el (attached) - In the scratch buffer eval cl--type-list. Result is expected: (cons-cdr-foo cons-car-foo) - Then open cl-type-recipe.el and byte-compile it with M-x emacs-lisp-byte-compile - Then eval again cl--type-list in the scratch buffer, and now the result is something like this: (# #) Which completely breaks cl-types ! I hope you can shed some light on what is going on here. Thanks!