Can you tell why the byte buffer needs to be exposed to Lisp in this
case? IOW, what would a Lisp program using this module want to do
with these byte buffers?
In this particular case, I'm exposing GSSAPI, which is a rather low level interface to Kerberos (well, it supports multiple systems, but it's mostly used for Kerberos).
For example, one function is called gss-unwrap, and it takes an encrypted byte array and decrypts it, returning a new byte array with the decrypted content.
What the impact is depends on the Elisp code that uses GSS. In the case of IMAP for example, it's not too bad, since only the initial handshake is passed through these functions (IMAP encryption is handled by TLS, not Kerberos). However, there are other uses where every single package is passed through the wrap and unwrap functions.