md`
### lossy
#### [exhaustMap](https://observablehq.com/@egman24/exhaustmap)
> https://rxjs.dev/api/operators/exhaust
- ignores _outer_ values until _inner_ observable is complete
#### [switchMap]()
> https://rxjs.dev/api/operators/switchAll
- ignores _inner_ values (cancels subscriptions to inner observable) upon new _outer_ value
### lossless
#### [mergeMap]()
> https://rxjs.dev/api/index/function/merge
> https://rxjs.dev/api/operators/mergeAll
- concurrent/parallel
- AKA: flatMap
#### [concatMap]()
> https://rxjs.dev/api/index/function/concat
> https://rxjs.dev/api/operators/concatAll
- sequential; queues/buffers until ready
`