   [out ctext ctextlen nonce key]
   ;; This takes an ctextlen argument because you can't tell the appropriate
   ;; length from the ctext ByteBuffer and the caller knows anyway.
-  (let [res (.crypto_secretbox_open_easy sodium
+  (let [res (.crypto_secretbox_open_easy b/sodium
                                          ^bytes out
                                          ^java.nio.ByteBuffer ctext
                                          ^long ctextlen

  the output byte buffer yourself. Otherwise, you want [[secretbox-easy]]."
  [^java.nio.ByteBuffer out ^bytes msg ^bytes nonce ^bytes key]
  (let [mlen (buflen msg)]
    (.crypto_secretbox_easy sodium out msg mlen nonce key)))

(defn secretbox-easy
  "Encrypt with `crypto_secretbox_easy`.

(ns caesium.crypto.secretbox
  "Bindings to the secretbox secret-key authenticated encryption scheme."
  (:require [caesium.binding :as b]
            [caesium.util :as u]
            [caesium.byte-bufs :refer [buflen]])
  (:import [java.nio ByteBuffer]))

(b/defconsts [keybytes noncebytes macbytes primitive])

(defn secretbox-easy-to-buf!
  "Encrypt with `crypto_secretbox_easy` into the given byte array.
