add `compose`, change `first`; reorg

- make `first` apply `iteratorOf` to its `sequence` argument