Currently, if a channel is detected as closed in a nested function call, we propagate either false or None, and in those cases just return; in the parent function.
Examples:
Ideally, the code should be self-explanatory and/or force us to handle channels closing in the parent function.
Consider:
- using a new error type
- custom enum
ChannelState::Open / Closed
- always propagating errors to the top-most parent function, that then streams the errors.