anchor.diff: -;;;; tré – Copyright (c) 2005–2009,2011–2014 Sven Michael Klose <pixel@copei.de>
  +; tré – Copyright (c) 2005–2009,2011–2014 Sven Michael Klose <pixel@hugbox.org>
   
   (defun %struct-option-keyword? (x)
     (eq x :constructor))
  
positive.code: 
  (defun %struct-sort-fields (fields-and-options)
    (with-queue (fields options)
      (map [? (& (cons? _) (%struct-option-keyword? _.))
  	        (enqueue options _)
  	        (enqueue fields _)]
  	     fields-and-options)
      (values (queue-list fields) (queue-list options))))
  
  (defvar *struct-defs*)
  
  
negative.code:             fields)))
  
  (defun %struct-make (name fields options)
    (with (sym        (%struct-make-symbol name options)
  		 g          (gensym)
           user-init  (%struct-make-init fields g)
  	     type-init  `((= (aref ,g 0) 'struct
                           (aref ,g 1) ',name)))
      `(defun ,sym ,(%struct-make-args fields)
         (let ,g (make-array ,(+ 2 (length fields)))
           ,@(? user-init
  