anchor.diff:  	(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 (/ float-part (the integer (expt 10 (mark-length buffer)))))))
   	whole-part)))
   
   (defun skip-number (buffer)
  
positive.code: (defun mark-length (buffer)
    (declare (type buffer buffer))
    "Returns the current amount of characters in the marked piece of the buffer"
    (- (buffer-index buffer) (buffer-mark buffer)))
  
  (defun skip-to (buffer last-char)
    "Skips characters until <char> has been found.  <char> is the last char which is skipped
  
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
  