From https://forums.swift.org/t/designing-an-http-server-api-for-swift/85255/2
We should consider using traits to disable features that are not needed by users of the NIOHTTPServer.
For instance, if a user is only interested in using HTTP1 over plaintext, TLS and HTTP2 wouldn't be needed, and thus the overhead of bringing in all those dependencies could be avoided.