"use strict"
Object.defineProperty(exports, "__esModule", { value: true })
exports.do = exports.bind = exports.let = void 0
// tracing: off
const Function_1 = require("../Function")
const core_1 = require("./core")
function bind(tag, f) {
  return (mk) =>
    (0, core_1.chain)((k) => (0, core_1.map)((a) => ({ ...k, [tag]: a }))(f(k)))(mk)
}
exports.bind = bind
function let_(tag, f) {
  return (mk) => (0, core_1.map)((k) => ({ ...k, [tag]: f(k) }))(mk)
}
exports.let = let_
const do_ = (0, core_1.succeed)({})
exports.do = do_
//# sourceMappingURL=do.js.map
