I'm a bit sceptical to the recent change of Stdio and Protocols.HTTP.Query regarding address families.
The comment says that the constants are required because open_socket does not accept a destination address (true enough, although it would be possible to change that instead), but why does the code need to call open_socket anyway? It doesn't actually do anything with the socket before calling connect() on it.