# Sequence and Collection Protocols

Write generic code that works with any collection, or build your own collection types.

## Topics

### First Steps

- ``Swift/Sequence``
- ``Swift/Collection``

### Collection Traversal

- ``Swift/BidirectionalCollection``
- ``Swift/RandomAccessCollection``

### Collection Mutability

- ``Swift/MutableCollection``
- ``Swift/RangeReplaceableCollection``

### Manual Iteration

- ``Swift/IteratorProtocol``

### Algebraic Sets

- ``Swift/SetAlgebra``

### Lazy Collections

- ``Swift/LazySequenceProtocol``
- ``Swift/LazyCollectionProtocol``

