anchor.diff:          (= (get-idx x "value") y)]
          [(and (string? x) (key? y))
           (= (get-idx y "value") x)]
  -       [(and (nil? x) (nil? y)) true]
          [(and (list? x) (list? y))
           (and (eq? (car x) (car y))
  -             (eq? (cdr x) (cdr y)))]
  -       [true (= x y)])]
  +             (eq? (cdr x) (cdr y)))])]
       [(and (exists? x) (! (exists? y))) false]
       [(and (exists? y) (! (exists? x))) false]
       [true (and (! x) (! y))]))
  
positive.code:   (cond
      [(and (exists? x) (exists? y))
       (cond
         [(and (symbol? x) (symbol? y))
          (= (get-idx x "contents") (get-idx y "contents"))]
         [(and (symbol? x) (string? y))
  
negative.code: (defun exists? (x)
    "Check if X exists, i.e. it is not the special value `nil`.
     Note that, in Urn, `nil` is not the empty list."
    (! (= (type# x) "nil")))
  
  (defun between? (val min max)
    "Check if the numerical value X is between
  