"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.andThen_ = exports.andThen = void 0;
// ets_tracing: off
const core_1 = require("./core");
/**
 * Propagates the given environment to self.
 *
 * @ets_data_first andThen_
 */
function andThen(fb, __trace) {
    return (fa) => andThen_(fa, fb, __trace);
}
exports.andThen = andThen;
/**
 * Propagates the given environment to self.
 */
function andThen_(fa, fb, __trace) {
    return (0, core_1.chain_)(fa, (a) => (0, core_1.provideAll_)(fb, a), __trace);
}
exports.andThen_ = andThen_;
//# sourceMappingURL=andThen.js.map