 
   All three arrays should be of identical length. Returns `out`."
   [^bytes out ^bytes a ^bytes b]
-  (dotimes [i (buflen a)]
+  (dotimes [i (bb/buflen a)]
     (aset-byte out i (bit-xor (aget a i) (aget b i))))
   out)
 

  (:require [caesium.crypto.generichash :as g]
            [caesium.crypto.secretbox :as s]
            [caesium.randombytes :as r]
            [caesium.byte-bufs :refer [buflen]])
  (:import (java.nio ByteBuffer)))

(def keybytes s/keybytes)

  To decrypt, use [[decrypt]] or [[open]], depending on which argument order
  you prefer."
  [m n k]
  (let [mlen (bb/buflen m)
        clen (+ s/macbytes mlen)
        outlen (+ s/noncebytes clen)
        out (byte-array outlen)
