why does this need ``0 or``, doesn't ``getaddrinfo`` return an ``int``?