anchor.diff:  
   (defun * (a b)
     (declare (type u32 a b))
  -  (ldb (byte 32 0) (cl:* a b)))
  +  (mod32 (cl:* a b)))
   
   (define-modify-macro *= (multiplicand) *)
   
  
positive.code: 
  (deftype mod32 ()
    '(-> (u32 u32) u32))
  
  (declaim (inline + * << >> rotl ^))
  
  
negative.code:     (cond ((typep s 'simple-base-string)
             (funcall hash s seed (length s) mix-only))
            ((every (lambda (c) (typep c 'base-char)) s)
             (funcall hash (coerce s 'simple-base-string) seed (length s) mix-only))
            (t (let ((octets (babel:string-to-octets s)))
                 (ecase size
                   (32 (hash32-octets octets seed (length octets) mix-only))
  