Improve an internal ipaddress test, add a comment explaining why treating networks as containers of interfaces rather than addresses would prove confusing
diff --git a/Lib/ipaddress.py b/Lib/ipaddress.py
index abbdcf8..05ea453 100644
--- a/Lib/ipaddress.py
+++ b/Lib/ipaddress.py
@@ -416,6 +416,11 @@
         """Return the shorthand version of the IP address as a string."""
         return str(self)
 
+    @property
+    def version(self):
+        msg = '%200s has no version specified' % (type(self),)
+        raise NotImplementedError(msg)
+
     def _ip_int_from_prefix(self, prefixlen=None):
         """Turn the prefix length netmask into a int for comparison.
 
@@ -555,10 +560,6 @@
     def _get_address_key(self):
         return (self._version, self)
 
-    @property
-    def version(self):
-        raise NotImplementedError('BaseIP has no version')
-
 
 class _BaseNetwork(_IPAddressBase):
 
@@ -727,12 +728,12 @@
         return int(self.broadcast_address) - int(self.network_address) + 1
 
     @property
-    def version(self):
-        raise NotImplementedError('BaseNet has no version')
-
-    @property
     def _address_class(self):
-        raise NotImplementedError('BaseNet has no associated address class')
+        # Returning bare address objects (rather than interfaces) allows for
+        # more consistent behaviour across the network address, broadcast
+        # address and individual host addresses.
+        msg = '%200s has no associated address class' % (type(self),)
+        raise NotImplementedError(msg)
 
     @property
     def prefixlen(self):
@@ -1333,7 +1334,6 @@
 
     """
     # Class to use when creating address objects
-    # TODO (ncoghlan): Investigate using IPv4Interface instead
     _address_class = IPv4Address
 
     def __init__(self, address, strict=True):
@@ -1945,7 +1945,6 @@
     """
 
     # Class to use when creating address objects
-    # TODO (ncoghlan): Investigate using IPv6Interface instead
     _address_class = IPv6Address
 
     def __init__(self, address, strict=True):