anchor.diff:  			   (fourth mods))
     surface)
   
  -#|
  -(defmethod activate ((surface xdg-surface) time)
  -  (let ((array (foreign-alloc '(:struct wl_array))))
  -    (wl-array-init array)
  -    (setf (mem-aref (wl-array-add array 4) :int32) 4)
  -    (xdg-surface-send-configure (->xdg-surface surface) 0 0 array time)
  -    (wl-array-release array)
  -    (foreign-free array)))
  -|#
  -
   (defmethod deactivate ((surface (eql nil)))
     )
   
  
positive.code:    activate
     deactivate
     resize
     accepts-pointer-events?
     x
     y
     width
  
negative.code:    (effects :accessor effects :initarg :effects :initform nil)
     (subsurfaces :accessor subsurfaces :initarg :subsurfaces :initform nil)))
  
  (defun find-region (->region client)
    (find-if (lambda (region)
  	     (and (pointerp (->resource region))
  		  (pointer-eq (->resource region) ->region)))
  	   (regions client)))
  (defmacro with-wl-array (array &body body)
    `(let ((,array (foreign-alloc '(:struct wl_array))))
       (wl-array-init ,array)
  