Signatures should be similar like for `Seq`, with overloads for `async` versions so that the `picker` or `chooser` function can return a `Task`. Consider: ``` TaskSeq.isEmpty TaskSeq.head TaskSeq.tryHead TaskSeq.last TaskSeq.tryLast TaskSeq.tryExactlyOne TaskSeq.exactlyOne TaskSeq.item TaskSeq.tryItem TaskSeq.find + async version TaskSeq.tryFind + async version TaskSeq.pick + async version TaskSeq.tryPick + async version TaskSeq.filter + async version TaskSeq.choose + async version ``` As with `Seq`, the non-try variants will raise an exception if the precondition is not met.