StreamStream.filterMapEffect((a: A) => Option<Effect<B>>, would it make sense to have a Stream.filterMapEffect2((a: A) => Effect<Option<B>>) (name tbd)? otherwise you'll have to Stream.mapEffect(x => f(x)) |> Stream.filterMap(identity)mapEffect(Effect.option(effect)) |> filterMap(identity), i wonder if that's the blessed way? maybe i just misuse streams? maybe i need to read docs?