anchor.diff:      (loop while (find (current-char buffer) +space-characters+ :test #'eql)
          do (next-char buffer))))
   (define-compiler-macro skip-spaces (&whole whole buffer)
  +  (declare (ignore buffer))
     (when +do-skip-spaces+
       whole))
   
  
positive.code: 	(progn 
  	  (next-char buffer)
  	  (let ((float-part (parse-integer (subseq-until buffer #\] #\} #\,)))) ;; only these characters are allowed to actually end a number
  	    (+ whole-part (/ float-part (expt 10 (mark-length buffer))))))
  	whole-part)))
  
  (defun skip-number (buffer)
  
negative.code: (defun build-character-tree (&rest strings)
    "Builds a character tree from a set of strings"
    (build-tree (loop for string in strings collect
  		   (loop for char across (the simple-string string) collect char))))
  
  (define-compiler-macro build-character-tree (&whole form &rest strings)
    (if (loop for string in strings unless (stringp string) return T)
  