anchor.diff:   (with-foreign-slots ((h-resolution v-resolution h-screen-size v-screen-size v-screen-center eye-to-screen-distance lens-separation-distance interpupillary-distance lens-distortion-values chroma-ab-correction) pointer (:struct %vr-device-info))
                         (setf h-resolution (nth 0 object))
                         (setf v-resolution (nth 1 object))
  -                      (setf h-screen-size (nth 2 object))
  -                      (setf v-screen-size (nth 3 object))
  -                      (setf v-screen-center (nth 4 object))
  -                      (setf eye-to-screen-distance (nth 5 object))
  -                      (setf lens-separation-distance (nth 6 object))
  -                      (setf interpupillary-distance (nth 7 object))
  +                      (setf h-screen-size (coerce (nth 2 object) 'float))
  +                      (setf v-screen-size (coerce (nth 3 object) 'float))
  +                      (setf v-screen-center (coerce (nth 4 object) 'float))
  +                      (setf eye-to-screen-distance (coerce (nth 5 object) 'float))
  +                      (setf lens-separation-distance (coerce (nth 6 object) 'float))
  +                      (setf interpupillary-distance (coerce (nth 7 object) 'float))
                         (setf lens-distortion-values (nth 8 object))
                         (setf chroma-ab-correction (nth 9 object))))
   
  
positive.code:                       (convert-into-foreign-memory (camera3d-position object) '(:struct %vector3) (foreign-slot-pointer pointer '(:struct %camera3d) 'position))
                        (convert-into-foreign-memory (camera3d-target object) '(:struct %vector3) (foreign-slot-pointer pointer '(:struct %camera3d) 'target))
                        (convert-into-foreign-memory (camera3d-up object) '(:struct %vector3) (foreign-slot-pointer pointer '(:struct %camera3d) 'up))
                        (setf fovy (camera3d-fovy object)
                              type (camera3d-type object))))
  
  (defmethod translate-from-foreign (pointer (type camera3d-type))
  
negative.code:   (with-foreign-slots ((rotation zoom) pointer (:struct %camera2d))
                        (convert-into-foreign-memory (camera2d-offset object) '(:struct %vector2) (foreign-slot-pointer pointer '(:struct %camera2d) 'offset))
                        (convert-into-foreign-memory (camera2d-target object) '(:struct %vector2) (foreign-slot-pointer pointer '(:struct %camera2d) 'target))
                        (setf rotation (coerce (camera2d-rotation object) 'float))
                        (setf zoom (coerce (camera2d-zoom object) 'float))))
  
  (defmethod translate-from-foreign (pointer (type camera2d-type))
    (with-foreign-slots ((offset target rotation zoom) pointer (:struct %camera2d))
  