anchor.diff:          (if (null symbol)
               (return-from find-seq nil)
               (find-seq symbol (subseq seq 1)))))
  -
  -(defun add-seq (trie seq &optional (count 1))
  -    "Add a sequence to the trie count times.
  -    A count below one is changed to one. Modifies trie in-place."
  -    (incf (trie-width trie) (max count 1))
  -    (when (zerop (length seq))
  -        (return-from add-seq trie))
  -    (let ((symbol (find-key trie (elt seq 0))))
  -        (when (null symbol)
  -            (setf symbol (add-key trie (elt seq 0))))
  -        (add-seq symbol (subseq seq 1) count)))
   
   ; (defun remove-seq (trie seq &optional (count 1))
   ;     "Remove a sequence from trie"
  
positive.code: ;; Traversal & printing
  
  ; (defmethod print-object ((object trie) stream)
  ;     (when *pretty-print* (format stream "~&~v@T" 2))
  ;     (format stream "(~S ~d" (trie-key trie) (trie-width trie))
  ;     (when (leafp trie)
  ;         (loop as branch in (trie-branches trie) do
  ;             (print branch)))
  ;     (format stream ")"))
  
  (defun pprint-trie (*standard-output* trie)
      ; (format *standard-output* "~&")
      (pprint-logical-block (*standard-output* trie :prefix "(" :suffix ")")
          ; (format *standard-output* "~&")
          ; Print key
          (if (characterp (first trie))
              (write-char (pprint-pop))
              (write (pprint-pop)))
          (write-char #\Space)
          
          ; Print width
          (write (pprint-pop))
          (pprint-indent :current 0)
          
          ; Branches
          (if (leafp trie)
              ; Has branches
              (progn
                  ; (write-char #\Space)
                  (pprint-newline :mandatory)
                  ; (pprint-indent :current 4)
                  ; (pprint-tab :line 4 2)
                  ; (write :+)
                  ;(pprint-newline :mandatory)
                  
                  ; (pprint-tab :line 4 2)
                  ; (pprint-indent :current 8)
                  
                  ; Print list of Branches
                  ; (write-char #\Space)
                  ; (pprint-newline :miser)
                  
                  (loop as branch in (trie-branches trie) do
                      (pprint-trie *standard-output* branch)
                      (pprint-exit-if-list-exhausted))
                  )
              ; Is leaf
              (progn
                  (write :%)
                  ; (pprint-exit-if-list-exhausted)
                  ))
          
          ; Place between closing parens
          ; (pprint-exit-if-list-exhausted)
          
          ; Extra after branches, before closing parens
          ; (write :#)
          )
      (pprint-newline :mandatory)
      )
      
      
      (when *pretty-print* (format stream "~&~v@T" 2))
      (format stream "(~S ~d" (trie-key trie) (trie-width trie))
      (when (leafp trie)
          (loop as branch in (trie-branches trie) do
              (print branch)))
      (format stream ")"))
  
  (defun print-trie (trie &optional (depth 0) &key (indent nil))
      "Traverse tries printing out nodes"
  
negative.code: 
  (defun test ()
      (setf r (make-trie))
      (add-seqs r '("blow" "boa" "blush" "foo")))
  
  ; Sentence level
  
  