anchor.diff:           (encode-string data stream))
           ((is-byte-array data)
            (encode-raw-bytes data stream))
  -        ((or (consp data) (vectorp data))
  +        ((vectorp data)
            (encode-array data stream))
  +        ((consp data)
  +         (if (alistp data)
  +             (encode-hash data stream)
  +             (encode-array data stream)))
           ((hash-table-p data)
            (encode-hash data stream))
           ((symbolp data)
  
positive.code:                     (encode-stream key stream)
                      (encode-stream value stream))
                    data))
          ((vectorp data)
           (dotimes (i (length data))
             (encode-stream (aref data i) stream)))
  
negative.code:     (if (< size (integer-length most-positive-fixnum))
          3
          0)))
  
  (defun alistp (l)
    "Alist predicate"
    (and (consp l) (consp (car l)) (atom (caar l))))
  
  (defmacro signed-unsigned-convertors (size)
    `(progn
  