By defining this class entirely in the System.h header, we are relying on ::freeaddrinfo being available. This has led to us polluting the System.h header with system-level definitions on Windows by way of SocketAddressWindows.h.