anchor.diff:  	     (file-position (blog-stream blog) 0)
   	     (write-blog-props (blog-stream blog) (blog-props blog)))
   	    ((not (= (props-nblocks props) nblocks))
  -	     (error "nblocks mismatch"))
  +	     (error "nblocks mismatch (expected ~A)" (props-nblocks props)))
   	    ((not (= (props-header-size props) header-size))
  -	     (error "Header size mismatch"))))
  +	     (error "Header size mismatch (expected ~A)" (props-header-size props)))))
   	
   	blog))))
       
  
positive.code: (declaim (ftype (function (blog (vector (unsigned-byte 8)) &key (:start integer) (:end (or null integer))) *)
  		read-header))
  (defun read-header (blog sequence &key (start 0) end)
    "Read the user header data."
    (declare (type blog blog)
  	   (type (vector (unsigned-byte 8)) sequence)
  	   (type integer start)
  	   (type (or null integer) end)) 
    (let ((stream (blog-stream blog)))
      (with-locked-mapping (stream)
        (file-position stream +block+)
        (read-sequence sequence stream :start start :end end)))
    nil)
  
  (declaim (ftype (function (blog (vector (unsigned-byte 8)) &key (:start integer) (:end (or null integer))) *)
  		write-header))
  (defun write-header (blog sequence &key (start 0) end)
    "Write the user header data."
    (declare (type blog blog)
  	   (type (vector (unsigned-byte 8)) sequence)
  	   (type integer start)
  	   (type (or null integer) end))		 
    (let ((stream (blog-stream blog)))
      (with-locked-mapping (stream)
        (file-position stream +block+)
        (write-sequence sequence stream :start start :end end)))
    nil)
  
  (defun blog-properties (blog)
    "Read the current blog properties."
  
negative.code: 		  msgs)
  	    (setf offset (xdr-block-offset blk))))))))
    
  ;; writing is much simpler because we always just write at the end.
  (declaim (ftype (function (blog (vector (unsigned-byte 8)) &key (:start integer) (:end (or null integer))) *)
  		write-entry))
  