ProtocolIterable should take one template argument.
Rename protocoliterable to protocolrange.