anchor.diff:    ;; this function takes a suffix to be consumed
     ;; and a node to start from and the current stem
     (labels ((c-suffix (iadfa current-suffix node profile)
  -		     (if (eq? 1 (length current-suffix))
  +		     (if (eq 1 (length current-suffix))
   			 (cons node (reverse current-suffix))
   		       (let ((next-node (ancestror-transition iadfa node (car current-suffix) (car profile))))
  -			 (if (or (not next-node) (eq? next-node (fsa-start-node (iadfa-fsa iadfa))))
  +			 (if (or (not next-node) (eq next-node (fsa-start-node (iadfa-fsa iadfa))))
   			     (cons node (reverse current-suffix))
   			   (c-suffix iadfa
   				     (cdr current-suffix)
  
positive.code: 				 (setf stem-start-input (car word))
  				 (setf stem '())
  				 (setf profile '()))))
  		       (if (eq? (iadfa-final iadfa) node)
  			   (progn
  			     (delete-branch iadfa stem-start-node stem-start-input stem-end-node)
  			     (values stem-start-node (append stem word) (append profile (make-list (- (length word) 1) nil))))
  
negative.code: (in-package :com.rrette.finenight)
  (provide :com.rrette.finenight.iadfa)
  
  (require :com.rrette.finenight.fsa "fsa-scm.lisp")
  ;(require :com.rrette.finenight.utils "utils.lisp")
  
  (defstruct iadfa 
  