I found an elegant solution for the problem of Haskell vs Linux capabilities explained in "QUIC and Linux capabilities". To know why the CAP_NET_BIND_SERVICE capability is necessary, please read this article in advance. On Linux, the following is the procedure to boot a secure multi-threaded server with CAP_NET_BIND_SERVICE: Executed by root. Reading a TLS private key. Setting SECBIT_KEEP_CAPS by