anchor.diff:        (decode-erlang-tuple bytes :start start :version-tag version-tag)
       (let ((cm (make-control-message tuple)))
         (when (typep cm '(or send reg-send))
  -	(assert (< pos (length bytes)))
  -	(setf (slot-value cm 'message)
  -	      (decode bytes :start pos :version-tag version-tag)) )
  +        (assert (< pos (length bytes)))
  +        (setf (slot-value cm 'message)
  +              (decode bytes :start pos :version-tag version-tag)) )
         cm)))
  
positive.code:     (encode
       (tuple +cm-link+ from-pid to-pid)
       :atom-cache-entries atom-cache-entries)))
       
  
  (defmethod encode-control-message ((object send) &key atom-cache-entries &allow-other-keys)
    (with-slots (cookie to-pid trace-token message) object
      (concatenate '(vector octet)
  		 (encode (if trace-token
  			     (tuple +cm-send-tt+
  				    cookie
  				    to-pid
  				    trace-token)
  			     (tuple +cm-send+
  				    cookie
  				    to-pid))
  			 :atom-cache-entries atom-cache-entries)
  		 (encode message :atom-cache-entries atom-cache-entries))))
  			   
  
  (defmethod encode-control-message ((object exit) &key atom-cache-entries &allow-other-keys)
    (with-slots (from-pid to-pid trace-token reason) object
      (encode (if trace-token
  		(tuple +cm-exit-tt+
  		       from-pid
  		       to-pid
  		       trace-token
  		       reason)
  		(tuple +cm-exit+
  		       from-pid
  		       to-pid
  		       reason))
  	    :atom-cache-entries atom-cache-entries)))
  
  (defmethod encode-control-message ((object unlink) &key atom-cache-entries &allow-other-keys)
    (with-slots (from-pid to-pid) object
      (encode (tuple +cm-unlink+
  		   from-pid
  		   to-pid)
  	    :atom-cache-entries atom-cache-entries)))
  
  (defmethod encode-control-message ((object node-link) &key atom-cache-entries &allow-other-keys)
    (declare (ignorable object))
    (encode (tuple +cm-node-link+)
  	  :atom-cache-entries atom-cache-entries))
  
  (defmethod encode-control-message ((object reg-send) &key atom-cache-entries &allow-other-keys)
    (with-slots (from-pid cookie to-name trace-token message) object
      (concatenate '(vector octet)
  		 (encode (if trace-token
  			     (tuple +cm-reg-send-tt+
  				    from-pid
  				    cookie
  				    to-name
  				    trace-token)
  			     (tuple +cm-reg-send+
  				    from-pid
  				    cookie
  				    to-name))
  			 :atom-cache-entries atom-cache-entries)
  		 (encode message :atom-cache-entries atom-cache-entries))))
  
  (defmethod encode-control-message ((object group-leader) &key atom-cache-entries &allow-other-keys)
    (with-slots (from-pid to-pid) object
      (encode (tuple +cm-group-leader+
  		   from-pid
  		   to-pid)
  	    :atom-cache-entries atom-cache-entries)))
  
  (defmethod encode-control-message ((object exit2) &key atom-cache-entries &allow-other-keys)
    (with-slots (from-pid to-pid trace-token reason) object
      (encode (if trace-token
  		(tuple +cm-exit2-tt+
  		       from-pid
  		       to-pid
  		       trace-token
  		       reason)
  		(tuple +cm-exit2+
  		       from-pid
  		       to-pid
  		       reason))
  	    :atom-cache-entries atom-cache-entries)))
  
  
  (defun decode-control-message (bytes &key (start 0) (version-tag nil))
  
negative.code:   (case (erlang-tuple-ref tuple 0)
      (#.+cm-link+
       (make-instance 'link
                      :from-pid (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)))
      (#.+cm-send+
       (make-instance 'send
                      :cookie (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)))
      (#.+cm-send-tt+
       (make-instance 'send
                      :cookie (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)
                      :trace-token (erlang-tuple-ref tuple 3)))
      (#.+cm-exit+
       (make-instance 'exit
                      :from-pid (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)
                      :reason (erlang-tuple-ref tuple 3)))
      (#.+cm-exit-tt+
       (make-instance 'exit
                      :from-pid (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)
                      :trace-token (erlang-tuple-ref tuple 3)
                      :reason (erlang-tuple-ref tuple 4)))
      (#.+cm-unlink+
       (make-instance 'unlink
                      :from-pid (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)))
      (#.+cm-node-link+
       (make-instance 'node-link))
      (#.+cm-reg-send+
       (make-instance 'reg-send
                      :from-pid (erlang-tuple-ref tuple 1)
                      :cookie (erlang-tuple-ref tuple 2)
                      :to-name (erlang-tuple-ref tuple 3)))
      (#.+cm-reg-send-tt+
       (make-instance 'reg-send
                      :from-pid (erlang-tuple-ref tuple 1)
                      :cookie (erlang-tuple-ref tuple 2)
                      :to-name (erlang-tuple-ref tuple 3)
                      :trace-token (erlang-tuple-ref tuple 4)))
      (#.+cm-group-leader+
       (make-instance 'group-leader
                      :from-pid (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)))
      (#.+cm-exit2+
       (make-instance 'exit2
                      :from-pid (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)
                      :reason (erlang-tuple-ref tuple 3)))
      (#.+cm-exit2-tt+
       (make-instance 'exit2
                      :from-pid (erlang-tuple-ref tuple 1)
                      :to-pid (erlang-tuple-ref tuple 2)
                      :trace-token (erlang-tuple-ref tuple 3)
                      :reason (erlang-tuple-ref tuple 4)))
      (otherwise
       (error 'unexpected-message-tag-error
              :received-tag (erlang-tuple-ref tuple 0)
              :expected-tags (list +cm-link+ +cm-send+ +cm-exit+
                                   +cm-unlink+ +cm-node-link+
                                   +cm-reg-send+ +cm-group-leader+
                                   +cm-exit2+ +cm-send-tt+ +cm-exit-tt+
                                   +cm-reg-send-tt+ +cm-exit2-tt+))) ))
  
  
  ;;;;
  