anchor.diff: -;;;;; tré – Copyright (c) 2005–2009,2011–2013 Sven Michael Klose <pixel@copei.de>
  +;;;;; tré – Copyright (c) 2005–2009,2011–2014 Sven Michael Klose <pixel@copei.de>
   
   (defun %struct-option-keyword? (x)
     (eq x :constructor))
  
positive.code: (defun %struct? (name)
    (let sym (%struct?-symbol name)
      `(defun ,sym (x)
         (& (struct? x)
            (eq ',name (aref x 1))))))
  
  (defun %struct-sort-fields (fields-and-options)
  
negative.code: 
  (defun %struct-assertion (name sym)
    (when *assert*
      `((| (& (array? arr)
              (eq (aref arr 0) 'struct)
              (eq (aref arr 1) ',name))
           (error "STRUCT slot ~A: Need a ~A instead of ~A."
                  ,(symbol-name sym) ,(symbol-name name) arr)))))
  
  (defun %struct-single-get (name field index)
    (let sym (%struct-getter-symbol name field)
  