anchor.diff:  
   (declaim (inline umapcar))
   (defun umapcar (function &rest sequences)
  +  "Return an ulist containing the results of applying FUNCTION to
  +successive elements of the supplied sequences.  The resulting ulist is as
  +long as the shortest supplied sequence."
     (declare (dynamic-extent sequences)
              (function function))
     (let ((length (reduce #'min sequences :key #'length))
  
positive.code:   (loop for elt = ulist then (ucdr elt)
          while elt collect (ucar elt)))
  
  (defun copy-utree (ulist)
    "Return a tree of the same shape as ULIST, but where all occuring ulists
     have been converted to lists."
    (declare (ulist ulist))
    (loop for elt = ulist then (ucdr elt)
          while elt
          for car = (ucar elt)
          collect (if (uconsp car)
  
negative.code: ;;; supported throughout the standard library.  Uconses lack this
  ;;; integration and require a completely new set of library functions.
  ;;; Furthermore it must be noted that uconses are --- except if one
  ;;; explicitly clears the *ROOT-TABLE* --- a permanent memory leak.
  ;;;
  ;;; Yet if you are willing to accept these trade-offs, uconses offer some
  ;;; unique benefits:
  