anchor.diff:  
   (defun remap (mapping size)
     "Remaps the file mapping to the new size."
  +  (declare (type mapping mapping)
  +	   (type integer size))
     (let ((fhandle (mapping-fhandle mapping)))
       ;; close the file mapping 
       (let ((mhandle (mapping-mhandle mapping))
  
positive.code:   ;; use regular CL functions to create the file and check its length
    (let ((path (ensure-file-exists path size)))
  
    ;; the file is now created and the correct size 
    (let ((fd (with-foreign-string (s path)
  	      (%open s 
  		     2 ;; o_rdwr
  		     600)))) ;; rw
      (when (< fd 0)
        (get-last-error))
      (let ((ptr (%mmap (null-pointer) 
  		      size 
  		      3 ;; prot_read | prot_write
  		      1 ;; map_shared
  		      fd 
  		      0)))
        (when (invalid-pointer-p ptr)
  	(%close fd)
  	(get-last-error))
        (make-mapping :fd fd
  		    :ptr ptr
  		    :size size)))))
    
  (defun close-mapping (mapping)
    "Close the file mapping."
  
negative.code: 
  (defun flush-buffers (mapping)
    "Ensure changes to the file mapping are written to disk."
    (declare (type mapping mapping))
    (%flush-file-buffers (mapping-fhandle mapping)))
  
  ;; we lock the first byte and rely on co-operative locking
  (defun lock-mapping (map)
    (declare (type mapping map))
    (with-foreign-object (overlapped '(:struct overlapped))
      (setf (foreign-slot-value overlapped '(:struct overlapped)
  			      'offset)
  