anchor.diff:  
   (defmethod translate-into-foreign-memory (object (type vector3-type) pointer)
     (with-foreign-slots ((x y z) pointer (:struct %vector3))
  -                      (setf x (vector3-x object))
  -                      (setf y (vector3-y object))
  -                      (setf z (vector3-z object))))
  +                      (setf x (coerce (vector3-x object) 'float))
  +                      (setf y (coerce (vector3-y object) 'float))
  +                      (setf z (coerce (vector3-z object) 'float))))
   
   (defmethod translate-from-foreign (pointer (type vector3-type))
     (with-foreign-slots ((x y z) pointer (:struct %vector3))
  
positive.code:  "Sound source type"
   (sample-count :unsigned-int)
   (stream (:struct %audio-stream)))
  (defmethod translate-into-foreign-memory (object (type sound-type) pointer)
   (with-foreign-slots ((sample-count stream) pointer (:struct %sound))
                        (setf sample-count (nth 0 object))
                        (setf stream (nth 1 object))))
  
  (defmethod translate-from-foreign (pointer (type sound-type))
    (with-foreign-slots ((sample-count stream) pointer (:struct %sound))
  
negative.code:                       (setf ctx-data (nth 1 object))
                        (setf sample-count (nth 2 object))
                        (setf loop-count (nth 3 object))
                        (convert-into-foreign-memory (nth 4 object)
                                                     '(:struct %audio-stream)
                                                     (foreign-slot-pointer pointer '(:struct %music) 'stream))))
  
  (defmethod translate-from-foreign (pointer (type music-type))
    (with-foreign-slots ((ctx-type ctx-data sample-count loop-count stream) pointer (:struct %music))
  