Hmm, I didn't really want to end up in another `metadata` situation where we have to support the full enumerable interface.