anchor.diff:           (zdd-random-member lo)
            (cons var (zdd-random-member hi)))))))
   
  -(defun unit-patch (z)
  -  (ematch z
  -    ((sink t) z)
  +
  +(defun unit-patch (zdd)
  +  "Ensure the empty set is a member of `zdd`."
  +  (ematch zdd
  +    ((sink t) zdd)
       ((sink nil) (sink t))
       ((node variable hi lo)
        (zdd-node variable hi (unit-patch lo)))))
   
   
   (defun zdd-set (elements)
  +  "Return a ZDD with a single member (which contains `elements`)."
     (make-set elements))
   
   
  
positive.code:   (declare (ignore val))
    (values))
  
  (defun print-through (function val)
    (pr (funcall function val))
    val)
  
  (defun mapprint-through (function val)
    (mapc #'pr (funcall function val))
    val)
  
  (defun line (x)
    (declare (ignore x))
    '----------------------------------------)
  
  
  ;;;; Bullshit -----------------------------------------------------------------
  
negative.code:            (recur hi)))))
      (hash-table-count seen)))
  
  
  (defun pick-random (a a-weight b b-weight)
    (if (< (random (+ a-weight b-weight))
           a-weight)
  