Effect<Value>.concatenate constructor
Executes the supplied effects sequentially. Each effect starts only
after the previous one completes, preserving deterministic ordering.
Example:
final chained = Effect.concatenate(effects: [
Effect.value("first"),
Effect.delayed(const Duration(milliseconds: 200), () => "second"),
]);
Implementation
const factory Effect.concatenate({required Iterable<Effect<Value>> effects}) = ConcatenatedEffect<Value>;