// ets_tracing: off
import { chain_, provideAll_ } from "./core.js"
import type { Effect } from "./effect.js"
/**
* Propagates the given environment to self.
*
* @ets_data_first andThen_
*/
export function andThen(fb: Effect, __trace?: string) {
return (fa: Effect) => andThen_(fa, fb, __trace)
}
/**
* Propagates the given environment to self.
*/
export function andThen_(
fa: Effect,
fb: Effect,
__trace?: string
) {
return chain_(fa, (a) => provideAll_(fb, a), __trace)
}