anchor.diff:  (defun %struct-accessor-name (name field-name)
     ($ name "-" field-name))
   
  -(defun %struct-slot-accessors (name field index)
  +(defun %struct-slot-accessors (name field index options)
     (with (fname  (%struct-field-name field)
            aname  (%struct-accessor-name name fname))
       `(progn
  
positive.code:        (defun ,aname (arr)
           (aref arr ,index))
         (defun (= ,aname) (val arr)
           (= (aref arr ,index) val)))))
  
  (defun %struct-accessors (name fields)
    (let index 1
      (filter [%struct-slot-accessors name (%struct-field-name _) (++! index)]
              fields)))
  
  (defun struct-predicate (x)
  
negative.code: ; tré – Copyright (c) 2005–2009,2011–2014 Sven Michael Klose <pixel@hugbox.org>
  
  (defun %struct-option-keyword? (x)
    (in? x :constructor :global))
  
  (defun %struct-constructor-name (name options)
    (!? (assoc-value :constructor options)
  