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

  (: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)


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

