anchor.diff:  
   (defun %struct-accessors (name fields options)
     (let index 1
  -    (@ [%struct-slot-accessors name (%struct-field-name _) (++! index) options]
  +    (@ [%struct-slot-accessors name _ (++! index) options]
          fields)))
   
   (defun struct-predicate (x)
  
positive.code:          (aref arr ,index))
         (defun (= ,aname) (val arr)
           (= (aref arr ,index) val))
         ,@(!? (assoc :global options)
               `((defun ,fname ()
                   (aref ,.!. ,index))
                 (defun (= ,fname) (val)
  
negative.code:   (? (cons? field)
       field.
       field))
  
  (defun %struct-field-options (field)
    (& (cons? field)
       ..field))
  
  (defun %struct-constructor-args (fields)
    `(&key ,@(@ [let n (%struct-field-name _)
  