anchor.diff:        (unless otpk (error "OTPK ~A unknown" otpkid))
         (del otpk-dict otpkid)
         (push otpkid used-otpkids)
  -      dh4 (and otpk (dh otpk ek))
  +      dh4 (dh otpk ek)
         (hkdf (cat dh1 dh2 dh3 dh4))))
   
   (define-method (x3dh-rx (user sc4-user) (hdr vector))
  
positive.code: (defun random-sequence () (random-bytes (random 32)))
  
  (dotimes (i 5)
    (setf l (for i in (counter 0 12) collect (ratchet-encrypt rsa (random-sequence))))
    (expect-error (ratchet-decrypt rsb (1st (last l)) nil))
    (for msg in l do (ratchet-decrypt rsb msg nil))
    (setf l (for i in (counter 0 9) collect (ratchet-encrypt rsa (random-sequence))))
    (for msg in (reverse l) do (ratchet-decrypt rsb msg nil))
    )
  
negative.code: (defun deserialize-object (v)
    (bb idx (logand (ref v 0) #x1F)
        class (ref $serializable-classes idx)
        (unless class (error "Unknown deserialization class index: ~A" idx))
        :mv (slot-values v) (deserialize (slice! v 1))
        slot-names (slot-names class)
        o (make-instance class)
  