The methods of the std.socket.Address and std.socket.InternetAddress classes are not qualified const; thus, when trying to use const-safe structures containing addresses, a lot of casts are required. This problem is exacerbated by the fact that addresses aren't value types (structs).
https://github.com/D-Programming-Language/phobos/pull/211 Note that Address.name() can't be const, since it can be used (and is used, within std.socket) to populate the Address data.
Looks like this was taken care of in a later pull request: https://github.com/D-Programming-Language/phobos/pull/260