anchor.diff:  	       space-requirement) pane
       (unless space-requirement
         (let ((request (call-next-method)))
  -	(when (spacer-p pane)
  +	(when (spacing-p pane)
   	  (with-slots (margin-width margin-height
   		       margin-max-width margin-max-height
   		       margin-min-width margin-min-height) pane
  
positive.code: 	  margin-min-width (or margin-min-width margin-width)
  	  margin-min-height (or margin-min-height margin-height))))
  
  (defun spacer-p (pane)
    (typep pane 'spacer-pane))
  
  (defmacro spacing ((&rest options) &body contents)
    `(make-pane 'spacer-pane ,@options :contents (list ,@contents)))
  
  (defmethod compose-space ((spacer spacer-pane))
    (compose-space (first (sheet-children spacer))))
  
  (defmethod allocate-space ((spacer spacer-pane) width height)
    (set-width-and-height spacer width height)
    (let* ((child (first (sheet-children spacer)))
  	 (margin-width (- (get-width spacer) (get-width child)))
  	 (margin-height (- (get-height spacer) (get-height child))))
      (setf margin-width
  	  (do-in (round (/ (* width margin-width) (get-size spacer)))
  		 (slot-value spacer 'margin-min-width)
  		 (slot-value spacer 'margin-max-width))
  	  margin-height
  	  (do-in (round (/ (* height margin-height) (get-size spacer nil)))
  		 (slot-value spacer 'margin-min-height)
  		 (slot-value spacer 'margin-max-height))
  	  (sheet-transformation child)
  	  (make-translation-transformation (/ margin-width 2)
  					   (/ margin-height 2)))
  
negative.code: 
  ;;; BORDER-PANE
  
  (defclass border-pane (spacing-pane)
    ((border-width :initarg :border-width :initform 1 :reader border-pane-width)
     )
    (:documentation ""))
  