"use strict"
Object.defineProperty(exports, "__esModule", { value: true })
exports.zipWith_ = exports.zipWith = void 0
// tracing: off
const core_1 = require("./core")
const map_1 = require("./map")
/**
 * Sequentially zips this effect with the specified effect using the
 * specified combiner function.
 *
 * @dataFirst zipWith_
 */
function zipWith(b, f, __trace) {
  return (a) => zipWith_(a, b, f, __trace)
}
exports.zipWith = zipWith
/**
 * Sequentially zips this effect with the specified effect using the
 * specified combiner function.
 */
function zipWith_(a, b, f, __trace) {
  return (0, core_1.chain_)(a, (ra) => (0, map_1.map_)(b, (rb) => f(ra, rb)), __trace)
}
exports.zipWith_ = zipWith_
//# sourceMappingURL=zipWith.js.map
