StreamClass.takeWhile<S>(source: Source<S>,predicate: (value: Exclude<S, AnyFailure>,index: number) => boolean): StreamClass<Exclude<S, AnyFailure>, Extract<S, AnyFailure>>
StreamClass#takeWhile as a static: Stream.takeWhile(source, …) is
Stream.from(source).takeWhile(…).
await Stream.takeWhile([1, 2, 3], (n) => n < 3).collect(); // [1, 2]
StreamClass<Exclude<S, AnyFailure>, Extract<S, AnyFailure>>