anchor.diff:  (defun build-next-generation-cell (width height x y last-gen next-gen)
      (let* ((n (num-live-neighbors 0 width height x y last-gen))
             (result (if (null (avl-retrieve last-gen (get-avl-key x y width)))
  -                      (if (= n 3) #\x #\space)
  -                      (if (or (< n 2) (> n 3)) #\space #\x))))
  -         (avl-insert next-gen (get-avl-key x y width) result)))
  +                      (if (= n 3) "x" nil)
  +                      (if (or (< n 2) (> n 3)) nil "x"))))
  +         (if result
  +             (avl-insert next-gen (get-avl-key x y width) result)
  +             next-gen)))
                   
   ; added curx counter
   (defun build-next-generation-row (width height curx y last-gen next-gen)
  
positive.code:                                       last-gen)))
         last-gen))
  
  
  ;added n counter
  (defun num-live-neighbors (n width height x y last-gen)
  
negative.code: 
  (defun avl-tree->output-line (width curx y next-gen)
     (if (< curx width)
         (string-append (if (avl-retrieve next-gen (get-avl-key curx y width)) "<td class=\"live\">&nbsp;</td>" "<td>&nbsp;</td>")
               (avl-tree->output-line width (1+ curx) y next-gen))
         nil))
  
  (defun avl-tree->output-lines (width height cury next-gen)
     (if (< cury height)
         (cons (string-append "<tr>" (string-append (avl-tree->output-line width 0 cury next-gen) "</tr>"))
               (avl-tree->output-lines width height (1+ cury) next-gen))
         nil))
  
  ;test input
  #|(num-live-neighbors 0 4 4 1 1 
                      (input-lines->avl-tree 0 0 4 (list (coerce "x xx" 'list)
                                                         (coerce "xxxx" 'list)
                                                         (coerce "x  x" 'list)
  