Avatar
SequencemakeIterator で消費されることがありなら、 extension IteratorProtocol { func makeIterator() -> Self { return self } } 的な実装が可能で、すべての IteratorProtocol の実装は Sequence として振る舞えることになる。