anchor.diff:  
   (defun get-ns-length (stream)
     (loop
  -     with total = 0
  +     with total fixnum = 0
        for c = (read-char stream)
        when (eq c #\:) return total
          do (setq total (+ (- (char-code c) (char-code #\0)) (* total 10)))))
  
positive.code:   (when (with-input-from-string (s "hello") (file-position s 2))
      (push :string-seek *features*)))
  
  (declaim (optimize (speed 3)))
  
  (defun make-keyword (key)
    (intern (camel-case-to-lisp key)
            (find-package 'keyword)))
  
  (defun slice (vector &key (start 0) (end -1))
    (declare (type fixnum start end)
  	   (type string vector))
    (let ((start (if (< start 0) (+ 1 (length vector) start) start))
          (end (if (< end 0) (+ 1 (length vector) end) end)))
      (declare (type fixnum start end))
      (make-array (list (- end start)) :displaced-to vector :displaced-index-offset start
                  :element-type (array-element-type vector))))
  
  (defun find-and-split (vector value)
    (declare (type string vector)
  	   (type character value))
    (let ((idx (position value vector)))
      (if idx
        (values (slice vector :end idx)
                (slice vector :start (1+ idx)))
        (values vector #()))))
  
  
  ;Could switch code-char to an ASCII digit table since there are only 10 values
  
negative.code: 	  ,@b))
  
  (defun parse-list (stream length)
    (declare (type fixnum length))
    (if (= length 0)
      nil
      (with-partial-file (stream length)
  