A new Effect representing the entire composed pipeline
pipe accepts an initial effect followed by any number of
pipeable operations — functions that receive the
previous result and return a new Effect, WrapEffect
error handlers (e.g. from catchSome or catchTags), or
dependency providers.
Operations are executed in order:
The return type is fully inferred — success, error, and dependency types are threaded through the chain with compile-time safety. A type error is produced if the output type of one step doesn't match the input type of the next.
Composes an Effect with one or more pipeable operations into a single sequential effect.