anchor.diff:  (defun read-key (buffer)
     "reads a key from the key-value list"
     (declare (type buffer buffer))
  -  (skip-to buffer #\")
     (parse-string buffer))
   
   (defun skip-key (buffer)
  
positive.code:   "Reads a value from the stream.
   This searches for the first meaningful character, and delegates to the right function for that character"
    (declare (type buffer buffer))
    (skip-spaces buffer)
    (case (fetch-char buffer)
      (#\" (parse-string buffer))
      (#\{ (decr-char buffer) (read-object buffer))
      (#\[ (read-array buffer))
      (#\t (incf (buffer-index buffer) 3)
  	 T)
      (#\f (incf (buffer-index buffer) 4)
  	 nil)
      (#\n (incf (buffer-index buffer) 3)
  	 nil)
      (T (read-number buffer))))
  
  
negative.code:   (let ((cur-time (get-internal-run-time)))
      (loop for x from 0 below iterations
         do (jsown:parse "{\"foo\":\"bar\",\"baz\":1000,\"bang\":100.10,\"bingo\":[\"aa\",10,1.1],\"bonzo\":{\"foo\":\"bar\",\"baz\":1000,\"bang\":100.10}}"))
      (/ (* iterations internal-time-units-per-second) (- (get-internal-run-time) cur-time))))
  