stream method
Implementation
Stream<T> stream([Stream<T>? startStr]) {
final startStream = startStr ?? Stream<T>.empty();
final emissionFunctions = this.whereType<Emission<T>>().map((e) => e.call);
return startStream.asyncExpandMultipleRecursive(emissionFunctions);
}