anchor.diff:  - by default, direct slots are transactional memory (implemented by TVARs)"
   
     (let ((struct-def (parse-tstruct-def name-and-options))
  -        (slot-objs (parse-tstruct-slots slot-descriptions)))
  +        (slots (parse-tstruct-slots slot-descriptions)))
   
       `(progn
          (,defstruct ,(tstruct-def->form struct-def)
  -         ,@(loop for slot-obj in slot-objs
  -              collect (tstruct-slot->form slot-obj)))
  -
  -       ,@(tstruct-def->functions struct-def slot-objs))))
  -
  -
  +         ,@(mapcar #'tstruct-slot->form slots))
  +
  +       ,@(tstruct-def->functions struct-def slots))))
  +
  +
  
positive.code:   (other-options  nil :type list))
                    
  
  (defun tstruct-slot->form (slot-obj)
    (declare (type (or string tstruct-slot) slot-obj))
  
    (let ((name           (tstruct-slot-name slot-obj))
          (initform       (tstruct-slot-initform      slot-obj))
          (transactional? (tstruct-slot-transactional slot-obj)))
      `(,name
        ,(if transactional? `(tvar ,initform) initform)
        :type ,(if transactional? 'tvar (tstruct-slot-type slot-obj))
        :read-only ,(tstruct-slot-read-only slot-obj)
        ,@(tstruct-slot-other-options slot-obj))))
       
  
  (defun tstruct-slot-accessor (slot struct-def)
  
negative.code: 
    (when (consp constructor-name-and-arglist)
      (error "CONSTRUCTOR-ARGLIST option not yet implemented
  in (TRANSACTIONAL-STRUCT (DEFSTRUCT (~A (:CONSTRUCTOR ...))))" (tstruct-def-name struct-def)))
  
    (let ((slots (tstruct-def-all-slots struct-def))
          (constructor-name constructor-name-and-arglist))
  