anchor.diff:        (let ((value (make-instance (or (lookup-value-factory (op:id tc)) symbol)
                        :create-for-unmarshal t)))
           (unmarshal-record-register value)
  -        (let ((keys nil) (types nil))
  -          (let ((tc-stack nil))
  -            (do ((base-tc tc (op:concrete_base_type base-tc)))
  -                ((typep base-tc 'null-typecode))
  -              (push base-tc tc-stack))
  -            (dolist (tc tc-stack)
  -              (dotimes (i (op:member_count tc))
  -                (push (key (op:member_name tc i)) keys)
  -                (push (op:member_type tc i) types))))
  -          (apply #'reinitialize-instance value
  -                 :create-for-unmarshal t
  -                 (unmarshal-value-state chunked truncate
  -                                        (nreverse keys)
  -                                        (nreverse types)
  -                                        buffer)))
  +        (apply #'reinitialize-instance value
  +               :create-for-unmarshal t
  +               (unmarshal-value-state chunked truncate
  +                                      (all-keyword-symbols tc)
  +                                      (all-member-types tc)
  +                                      buffer))
           value))))
   
   
  
positive.code:       (list (op:id tc)))))
  
  
  
  ;;;; Encoding Support
  
  
negative.code:   (unmarshal-record #'unmarshal-string-record-list buffer))
  
  
  
  ;;;; Marshall Value
  
  