currently does not flatten
Update transform docs as well to this
* If the semigroup is an object with a `.write` method, concatenation is defined as:
* ```javascript
* nextAccumulator = accumulator
* for (const value of values) {
* accumulator.write(value)
* }
* ```
Update: flatten could be implicit