The mere existence of getaddrinfo is a symptom of the disease. Just look at it. It lacks a clear interface. It&#x27;s designed for calling code which is like, &quot;Gee, I don&#x27;t know exactly what I&#x27;ve got. Maybe it&#x27;s a local IPv6 address, maybe it&#x27;s a remote hostname. But I might want to bind it. Or maybe connect to it. I&#x27;ll get back a list of these things which might be useful. Most likely I&#x27;ll choose the first one or maybe write an ad-hoc filter to pick the one I actually want.&quot; Systems programming doesn&#x27;t have to be this crappy.<p>I get it, the idea is to replace this core low-level library with something you could maybe run C programs on top of. But damn, that is a crappy interface (which is specified by both an ISO standard and an IETF RFC so I must be an idiot, right?).