anchor.diff:         ,docstring
          (write-uint stream n ,const-name :endian endian))))
   
  -(defmacro defunsigned (const-name)
  +(defmacro defunsigned (const-name size)
     `(progn
  +     (defconstant ,const-name ,size)
        (define-unsigned-reader ,const-name)
        (define-unsigned-writer ,const-name)))
   
  -(defunsigned U32)
  -(defunsigned U16)
  -(defunsigned U8)
  +(defunsigned U32 4)
  +(defunsigned U16 2)
  +(defunsigned U8 1)
   
   (defun twos-complement (n size)
     (if (zerop (logand (ash 1 (* (- size 1) 8)) n))
  
positive.code:        ,docstring
         (write-int stream n ,const-name :endian endian))))
  
  (defmacro defsigned (const-name)
    `(progn
       (define-signed-reader ,const-name)
       (define-signed-writer ,const-name)))
  
  (defsigned I32)
  (defsigned I16)
  (defsigned I8)
  
negative.code: 
  ;;; "binary" goes here. Hacks and glory await!
  
  
  (defun octets (stream length)
    "Read length bytes from the stream."
  