anchor.diff:                                      +-------------| Child 3 |
                                                     +---------+
   "
  -  (declare (type (or null (function (cons) string)) format-fun))
  +  (check-type format-fun (or null function))
     (let ((children     (tree-to-ascii-children tree))
           (children-box (make-tree-to-ascii-box))
  -        (node-box     (make-tree-to-ascii-box)) )
  +        (node-box     (make-tree-to-ascii-box)))
       (setf (tree-to-ascii-formated tree)
             (if format-fun
                 (funcall format-fun (tree-to-ascii-node tree))
                 (format nil "~S" (tree-to-ascii-node tree))))
       (if boxed
  -        (progn
  -          (setf (tree-to-ascii-box-width node-box)
  -                (+ 2 (length (tree-to-ascii-formated tree))))
  -          (setf (tree-to-ascii-box-height node-box) 3)
  -          (setf (tree-to-ascii-box-base node-box)   1) )
  -        (progn
  -          (setf (tree-to-ascii-box-width node-box)
  -                (length (tree-to-ascii-formated tree)))
  -          (setf (tree-to-ascii-box-height node-box) 1)
  -          (setf (tree-to-ascii-box-base node-box)   0) ))
  +        (setf (tree-to-ascii-box-width node-box)
  +              (+ 2 (length (tree-to-ascii-formated tree)))
  +              (tree-to-ascii-box-height node-box) 3
  +              (tree-to-ascii-box-base node-box)   1)
  +        (setf (tree-to-ascii-box-width node-box)
  +              (length (tree-to-ascii-formated tree))
  +              (tree-to-ascii-box-height node-box) 1
  +              (tree-to-ascii-box-base node-box)   0))
       (when children
  -      (loop for child in children
  -         for child-box = (tree-to-ascii-compute-boxes
  -                          child  :boxed boxed  :format-fun format-fun
  -                          :to-length to-length :from-length from-length)
  -         maximize (tree-to-ascii-box-width child-box)  into width
  -         sum (1+ (tree-to-ascii-box-height child-box)) into height
  -         finally
  -         (setf (tree-to-ascii-box-width  children-box) width)
  -         (setf (tree-to-ascii-box-height children-box) (1- height))
  -         (setf (tree-to-ascii-box-base   children-box)
  -               (floor (/ (1- height) 2)))
  -         ) ;;loop
  +      (loop
  +        :for child :in children
  +        :for child-box := (tree-to-ascii-compute-boxes
  +                           child  :boxed boxed  :format-fun format-fun
  +                                  :to-length to-length :from-length from-length
  +                                  :base base)
  +        :maximize (tree-to-ascii-box-width child-box)  :into width
  +        :sum (1+ (tree-to-ascii-box-height child-box)) :into height
  +        :finally (setf (tree-to-ascii-box-width  children-box) width
  +                       (tree-to-ascii-box-height children-box) (1- height)
  +                       (tree-to-ascii-box-base   children-box)
  +                       (ecase base
  +                         (:top      (- height (tree-to-ascii-box-height node-box)))
  +                         (:centered (floor (/ (1- height) 2)))
  +                         (:bottom   (tree-to-ascii-box-base node-box)))))
         (setf (tree-to-ascii-box-width node-box)
               (+ (tree-to-ascii-box-width node-box)
                  ;; TODO: WE COULD USE (MAX TO-LENGTH FROM-LENGTH) WITH 1 CHILD
  
positive.code:             (max (tree-to-ascii-box-height node-box)
                   (tree-to-ascii-box-height children-box)))
        (setf (tree-to-ascii-box-base node-box)
              (tree-to-ascii-box-base children-box))
        ) ;;when
      (setf (tree-to-ascii-box tree) node-box)
      node-box))
  
  
negative.code: 
  
  (defun tree-to-ascii (tlee &key boxed format-fun background
                        to-length from-length base)
    "
  tlee:        is a list-based tree, whose car is a \"node\",
               and whose cdr is the list of children.
  