Better definitions for iterable types