I thought I would do a minimal experiment to have a networking interface that doesn’t require a networking capability: GitHub - patricoferris/neio – this is just using the posix and linux (I don’t have a windows machine currently) low level interfaces and wrapping them in what is mostly a small subset of the Eio.Net
interface and making some different opinionated choices (e.g. no capabilities, removing some of the uses of subtying with polymorphic variants and instead providing conversion functions to flows or fds etc.).
Hopefully this is useful to imagine what Eio offers in terms of taking care of a lot of the low level OS interactions in a safe way (structured concurrency, reference counted file descriptors etc.) and you are free to choose how to wrap that and present it to an end-user :))