anchor.diff:  
   (defmethod translate-into-foreign-memory (object (type rectangle-type) pointer)
     (with-foreign-slots ((x y width height) pointer (:struct %rectangle))
  -                      (setf x (rectangle-x object))
  -                      (setf y (rectangle-y object))
  -                      (setf width (rectangle-width object))
  -                      (setf height (rectangle-height object))))
  +                      (setf x (coerce (rectangle-x object) 'float))
  +                      (setf y (coerce (rectangle-y object) 'float))
  +                      (setf width (coerce (rectangle-width object) 'float))
  +                      (setf height (coerce (rectangle-height object) 'float))))
   
   (defmethod translate-from-foreign (pointer (type rectangle-type))
     (with-foreign-slots ((x y width height) pointer (:struct %rectangle))
  
positive.code: 
  (defmethod translate-into-foreign-memory (object (type vector2-type) pointer)
    (with-foreign-slots ((x y) pointer (:struct %vector2))
                        (setf x (vector2-x object))
                        (setf y (vector2-y object))))
  
  (defmethod translate-from-foreign (pointer (type vector2-type))
    (with-foreign-slots ((x y) pointer (:struct %vector2))
  
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))
  