anchor.diff:  (defmethod initialize-instance :after ((instance standard-page-layout)
                                          &key text-margins text-margin)
     (macrolet ((thunk (edge default)
  -               `(unless (getf text-margins ,edge)
  -                  (setf (getf text-margins ,edge) ,default))))
  -    (thunk :left   '(:absolute 0))
  -    (thunk :top    '(:absolute 0))
  +               `(let ((spec (getf text-margins ,edge)))
  +                  (typecase spec
  +                    (null (setf (getf text-margins ,edge) ,default))
  +                    (atom (setf (getf text-margins ,edge) `(:relative ,spec)))))))
  +    (thunk :left   `(:relative 0))
  +    (thunk :top    `(:relative 0))
       (thunk :right  (if text-margin
                          `(:absolute ,text-margin)
                          `(:relative 0)))
  -    (thunk :bottom '(:relative 0))
  +    (thunk :bottom `(:relative 0))
       (setf (stream-text-margins instance) text-margins)))
   
   (defgeneric stream-cursor-initial-position (stream)
  
positive.code: 
  (defclass standard-page-layout ()
    ((%page-region :reader stream-page-region :writer (setf %page-region))
     (margins :initform '(:left   (:absolute 0)
                          :top    (:absolute 0)
                          :right  (:relative 0)
                          :bottom (:relative 0))
              :accessor stream-text-margins :type margin-spec)))
  
negative.code:           (y2 (* 43 (text-style-height (stream-text-style stream) stream))))
        (setf sheet-region (make-rectangle* 0 0 x2 y2))))
    (with-bounding-rectangle* (x1 y1 x2 y2) sheet-region
      (macrolet ((thunk (margin edge sign orientation)
                   `(if (eql (first ,margin) :absolute)
                        (parse-space stream (second ,margin) ,orientation)
                        (,sign ,edge (parse-space stream (second ,margin) ,orientation)))))
        (destructuring-bind (&key left top right bottom) (stream-text-margins stream)
          (setf (%page-region stream)
                (make-rectangle* (thunk left   x1 + :horizontal)
  