anchor.diff:    "Sets the mark of the buffer to the current character"
     (setf (buffer-mark buffer) (buffer-index buffer)))
   
  -(defconstant +space-characters+ '(#\Space #\Newline #\Tab #\Linefeed)
  -  "List of characters which may denote a space in the JSON format (these have not been verified")
  -
   (defun skip-to (buffer last-char)
     "Skips characters until <char> has been found.  <char> is the last char which is skipped"
     (declare (type buffer buffer)
  
positive.code: 
  (defun skip-spaces (buffer)
    "Skips spaces, tabs and newlines until a non-space character has been found"
    (loop while (find (current-char buffer) +space-characters+)
       do (next-char buffer)))
  
  ;; (defmacro skip-spaces (buffer)
  
negative.code:   (read-from-string (subseq-until buffer #\] #\} #\,))) ;; only these characters are allowed to actually end a number
  
  (defun read-json (string)
    (let ((buffer (build-buffer string)))
      (skip-to buffer #\{)
      (read-object buffer)))
  