question: should we compute t2 twice?
In commit f331600f we have
(let* ((tag1 (safe-canonical-type t1))
(tag2 (safe-canonical-type t2)))
(when (and (numberp tag1) (numberp tag2))
;; We must call safe-canonical-type again because one of
;; the calls above could have called UPDATE-TYPES.
(setf tag1 (safe-canonical-type t1)
tag2 (safe-canonical-type t2)))
and in the second place something similar. As I understand this it is that computing t1 may change tags, then computing t2 may change tags, and then it is in a stable state. Couldn't this be written without computing tag2 twice? @spaghettisalat
(let ((tag1 (s-c-t t1)) (tag2 (s-c-t t2)))
(setf tag1 (s-c-t t2)))
this shouldn't be fixed before the release, I'm adding this ticket so I don't forget about the question.