// ets_tracing: off import * as Tp from "../Collections/Immutable/Tuple/index.js" import { chain_ } from "./core.js" import type { Effect } from "./effect.js" import { map_ } from "./map.js" /** * Sequentially zips this effect with the specified effect * * @ets_data_first zip_ */ export function zip(b: Effect, __trace?: string) { return (a: Effect): Effect> => zip_(a, b, __trace) } /** * Sequentially zips this effect with the specified effect */ export function zip_( a: Effect, b: Effect, __trace?: string ): Effect> { return chain_(a, (ra) => map_(b, (rb) => Tp.tuple(ra, rb)), __trace) }