Shouldn't we implement Traversable?