Honestly, #libfuse3 is the single worst library I have worked with. The API is a random mix of bugs, hacks and historical changes. The documentation is barely existing for the more common API, and practically non-existing for anything else. And upstream's attitude is, basically "lack of documentation is not a bug, feel free to contribute". Because obviously people have nothing better to do than dig through tons of your awful code, figure out how it interacts with the #Linux kernel, and then document it all.
#FUSE