anchor.diff:         
          (defmethod print-object ((obj ,name) out)
   	 (print-unreadable-object (obj out :type t)
  -	   (format out "impl:~X, iface:~X, ~s:~s @ ~X of ~s:~X" (cffi:pointer-address (implementation obj)) (cffi:pointer-address (interface obj))
  +	   (format out "impl:~s, iface:~s, ~s:~s @ ~X of ~s:~X" (implementation obj) (interface obj)
   		   ;;(wl-resource-get-class (->resource obj))
   		   (id obj) (wl-resource-get-id (->resource obj)) (cffi:pointer-address (->resource obj)) (client obj) (cffi:pointer-address (wl-resource-get-client (->resource obj)))
   		   )))
  
positive.code: 			,@(apply #'concatenate 'list (mapcar (lambda (x)
  							       `(,(first x) (cffi:callback ,(second x))))
  							     impls)))))
  	 (if supplied
  	     (make-instance ',name
  			    :client client
  			    :id id
  			    :version version
  			    :implementation ,impl
  			    :interface ,iface
  			    :data (->resource resource)
  			    :delete delete-fn
  			    :implementation? implementation?)
  	     (make-instance ',name
  			    :client client
  			    :id id
  			    :version version
  			    :implementation ,impl
  			    :interface ,iface
  			    :delete delete-fn
  			    :implementation? implementation?))))))
  
  (defmethod initialize-instance :before ((resource wl-resource) &key client version id implementation interface (data (cffi:null-pointer) supplied) delete implementation?)
    (let* ((resource-ptr (wl-resource-create (->client client) interface version id)))
      (setf (->resource resource) resource-ptr)
      (setf (id resource) id)
      (setf (interface resource) interface)
      (when implementation?
        (setf (implementation resource) implementation)
        (wl-resource-set-implementation resource-ptr
  				      implementation
  				      (if supplied
  					  data
  					  resource-ptr)
  				      delete))
      (setf (client resource) client)
      (push resource (resources client))))
  
  (defclass wl-rect ()
    ((x :accessor x :initarg :x :initform 0)
  
negative.code: 	(iface (intern (concatenate 'string (string-upcase (symbol-name name)) "-INTERFACE")))
  	(impl-fn (intern (concatenate 'string "IMPLEMENT-" (string-upcase (symbol-name name)))))
  	(set-impl-fn (intern (concatenate 'string "SET-IMPLEMENTATION-" (string-upcase (symbol-name name)))))
  	(->resource (gensym "->RESOURCE"))
  	(make-fn (intern (concatenate 'string "MAKE-" (string-upcase (symbol-name name))))))
      `(progn
         (defparameter ,impl nil)
  