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:   "Builds a tree from a range of lists and a function to compare its elements by"
    (when lists
      (loop for first-elt in (find-first-elts lists)
  	collect (let ((matching-lists (loop for list in lists when (and (first list) (eql (the character first-elt) (the character (first list))))
  					 collect (rest list))))
  		  (list first-elt
  			(loop for list in matching-lists unless list return T) ;; T shows that this is an end-result
  