StreamClass.dedupBy<S>(source: Source<S>,key: (value: Exclude<S, AnyFailure>) => unknown): StreamClass<Exclude<S, AnyFailure>, Extract<S, AnyFailure>>
StreamClass#dedupBy as a static: Stream.dedupBy(source, …) is
Stream.from(source).dedupBy(…).
await Stream.dedupBy([1, 1, 2], (n) => n).collect(); // [1, 2]
StreamClass<Exclude<S, AnyFailure>, Extract<S, AnyFailure>>