             'cl-case 'cl-ecase
             'cl-typecase 'cl-etypecase
             'pcase 'pcase-exhaustive)
-       . ,(and (pred elisp/ert/proper--list-p) clauses))
+       . ,(and (pred proper-list-p) clauses))
      (let ((branches (make-vector (length clauses) nil)))
        (cl-loop for clause in clauses
                 and index from 0

                      (elisp/ert/instrument--branch
                       vector branches (list form) nil index (1+ index)))))
       branches))
    (`(cl-loop . ,(and (pred elisp/ert/proper--list-p) rest))
     (when-let ((conditions (cl-loop for (keyword form) on rest
                                     when (memq keyword '(if when unless))
                                     collect form)))

                     (let ((new (cl-etypecase obj
                                  (symbol (elisp/ert/check--xml-name obj))
                                  (string (elisp/ert/sanitize--xml-string obj))
                                  (proper-list (mapcar #'walk obj))
                                  (cons
                                   (cons (walk (car obj)) (walk (cdr obj)))))))
                       (puthash obj new map)
