at least IO::Socket::INET probably won't randomly change its API