inet_addr doesn't do any lookups, it is basically a glorified parsing problem converting from a string to a host address.
Why, beyond the obvious implementation details, does it live in IO?
Given that the current version lives in IO, should there be a version that is obviously made pure so that folks who want to use it directly can do so without having to bury it behind an unsafePerformIO?
This isn't a concrete proposal at this time, but more an attempt to sound out if such a proposal should be formed.
-Edward