Problem: creating sockets still needs multiple calls

Solution (experimental): single constructor to create socket of given
type, and bind/connect to zero or more endpoints.