anchor.diff:  (defmethod msg-decode ((type (eql 'msg-wt-tf)) pointer)
     (aa::make-quaternion-translation :quaternion
                                      (msg-decode 'quaternion
  -                                               (foreign-slot-value pointer '(:struct wt-tf) 'r))
  +                                               (foreign-slot-value  pointer '(:struct wt-tf) 'r))
                                      :translation
                                      (msg-decode 'vec3
                                                  (foreign-slot-value pointer '(:struct wt-tf) 'x))))
  
positive.code:         (defmethod msg-aref-ptr ((msg ,type) i)
            (with-msg-pointer (pointer size) msg
              (check-var-msg size (foreign-type-size ',slot-type)
                             (foreign-slot-value pointer '(:struct msg-header) pointer) 'n)
              (let ((base (foreign-slot-pointer pointer '(:struct ,type) ',slot)))
                (mem-aptr base ',slot-type i))))
          (defmethod msg-aref ((msg ,type) i)
  
negative.code: (defmethod msg-decode ((type (eql 'msg-tf)) pointer)
    (aa::make-quaternion-translation :quaternion
                                     (msg-decode 'quaternion
                                                 (foreign-slot-value pointer '(:struct tf) 'r))
                                     :translation
                                     (msg-decode 'vec3
                                                 (foreign-slot-value pointer '(:struct tf) 'x))))
  
  ;; ;; (defmethod decode-msg ((msg msg-tf))
  ;; ;;   (msg-decode 'msg-tf (msg-aref-ptr msg 0)))
  
  (defcstruct msg-joystick
    (header (:struct msg-header))
  