anchor.diff:        ,@(%struct-getters name flds)
         (defmacro ,(make-symbol (string-concat "WITH-" (symbol-name name))) (s &rest body)
   		 `(with-struct ,name ,,s ,,@body)))))
  +
  +(defmacro defstruct (name &rest fields-and-options)
  +  (apply #'%defstruct-expander name fields-and-options))
  
positive.code: ;;;; TRE environment
  ;;;; Copyright (C) 2005-2008 Sven Klose <pixel@copei.de>
  ;;;;
  ;;;; Structures
  
  
negative.code:     (dolist (i (%struct-def name) (queue-list form))
        (enqueue form (car i)))))
  
  (defun %defstruct-expander (name &rest fields-and-options)
    "Define new structure."
    (multiple-value-bind (flds opts) (%struct-sort-fields fields-and-options)
      (%struct-add-def name flds)
  