Though my Haskell and Rust primed brain really dislikes the way ownership of the memory allocation for the response struct works.
It gets allocated by the caller (library), handed over to the function fully owned, and then gets consumed by the response function?
More realistically, adding HTTP where it is not needed adds unnecessary complexity.
This might enf up being be fine, but it gave me pause when I looked at it previously.
At the end of the day, local or remote, it is all just pushing data over sockets, no?