anchor.diff:        ((cffi:pointerp data)
   
          (%gl:Buffer-Data target
  -			(* (get-size this) (cffi:foreign-type-size type))
  +			(size-in-bytes this)
   			data
   			usage)
          (setf loaded? t))
  
positive.code:       (data
  
         (let ((p (cffi:foreign-alloc type :initial-contents data :count (get-size this))))
  	      (unwind-protect
  		   (progn (%gl:Buffer-Data target
  					   (* (get-size this) (cffi:foreign-type-size type))
  					   p
  					   usage)
  			  (setf loaded? t))
  		
  		(cffi:foreign-free p))))
        
        ;; No Data?
        (t
  
         (%gl:Buffer-Data target
  			  (* (get-size this) (cffi:foreign-type-size type))
  			  (cffi:null-pointer)
  			  usage)
  	 (setf loaded? nil)))))
  
  
  (defmethod bind ((this buffer) &key )
  
negative.code:      (unwind-protect
  	  (progn ,@body)
         (clinch::unmap-buffer ,buffer))))
  
  