anchor.diff:  |#
   
   (defun main (state)
  -	(string-list->stdout (avl-tree->output-lines 4 4 0 (build-next-generation 4 4 0 (stdin->avl-tree state)
  -		                                                           (empty-tree))) state))+   (mv-let (things state)
  +           (stdin->avl-tree state)
  +      (let ((avl-tree (car things))
  +            (width (cadr things))
  +            (height (caddr things)))
  +           (string-list->stdout (avl-tree->output-lines width height 0 (build-next-generation width height 0 avl-tree
  +		                                                           (empty-tree))) state))))
positive.code:              new-tree
               (build-next-generation width height next-y last-gen new-tree))))
  
  (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>")
  
negative.code: (defun stdin->avl-tree (state)
     (mv-let (input-lines state)
             (stdin->lines state)
        (let* ((height (len input-lines))
               (width (length (car input-lines))))
              (mv (list (input-lines->avl-tree 0 0 width (strings->char-lists input-lines) (empty-tree)) width height) state))))
              ;(mv (input-lines->avl-tree 0 0 width (strings->char-lists input-lines) (empty-tree)) width height state))))
  
  
  