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: 				     (cdr profile)))))))
  	  (c-suffix iadfa (reverse current-suffix) node (reverse profile))))
  
  (defun iadfa-add-edge! (iadfa src-node input dst-node)
    (node-add-edge! src-node input dst-node)
    (node-add-ancestror! iadfa dst-node input src-node))
  
  (defun add-stem (iadfa prefix-node suffix-node current-stem profile)
    (let ((last-node prefix-node)
  	(last-input (last current-stem))
  	(processing-stem (take current-stem (- (length current-stem) 1))))
      (fold (lambda (input iadfa)
  	    (let ((new-node (make-empty-node (generate-state iadfa))))
  	      (setf (node-final new-node) (car profile))
  	      (setf profile (cdr profile))
  	      (iadfa-add-edge! iadfa last-node input new-node)
  	      (setf last-node new-node)
  	      iadfa))
  	  iadfa
  	  processing-stem)
      (iadfa-add-edge! iadfa last-node last-input suffix-node)
      iadfa))
  
  
  (defun handle-word (iadfa word)
    (let* ((fsa (iadfa-fsa iadfa)))
      (multiple-value-bind (prefix-node current-suffix profile) (common-prefix iadfa word (fsa-start-node fsa))
  	     (let* ((suffix (common-suffix iadfa current-suffix (iadfa-final iadfa) profile))
  		    (suffix-node (car suffix))
  		    (current-stem (cdr suffix)))
  	       (add-stem iadfa prefix-node suffix-node current-stem profile)
  	       (remove-ancestror-to-childs iadfa prefix-node))
  	     iadfa)))
  
  (defun gen-iadfa (words)
    (fold (lambda (word iadfa) 
  