anchor.diff:  ;;; For more information, see: https://github.com/jbenet/multihash
   ;;; -- Copied from https://github.com/jbenet/multihash
   
  -;;; A multihash is a hash digest with 5 bytes of metadata prepended
  +;;; tl;dr: A multihash is a hash digest with 5 bytes of metadata prepended
   
   (in-package #:multihash)
   
  
positive.code: (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*))."
    (encode digest-name (digest-sequence digest-name sequence)))
  
  ;;; %to-octets returns the serialized form of an object
  ;;; this is used to extend multihash-object
  (defgeneric %to-octets (object)
    (:documentation "Returns a representation of the object as (SIMPLE-ARRAY (OCTET 8) *)"))
  
  (defgeneric multihash-object (digest object)
    (:documentation "Returns a multihash of OBJECT"))
  
  (defmethod multihash-object (digest object)
    (multihash-sequence digest (%to-octets object)))
  
negative.code:   ;;; length is the typical length of the digest
    (length nil :type fixnum :read-only t))
  
  ;;; replicating table here to:
  ;;; 1. avoid parsing the csv
  ;;; 2. ensuring errors in the csv don't screw up code.
  ;;; 3. changing a number has to happen in two places.
  (defparameter *definitions*
    ;;; name function-code length
    '((sha1 #x11 20)
  