// ets_tracing: off
import * as T from "../../../Effect";
import { pipe } from "../../../Function";
import { fromEffect } from "./api";
import * as Chain from "./api/chain";
import * as Map from "./api/map";

function bind(tag, f) {
  return mk => Chain.chain_(mk, k => Map.map_(f(k), a => ({ ...k,
    [tag]: a
  })));
}

function let_(tag, f) {
  return mk => Map.map_(mk, k => ({ ...k,
    [tag]: f(k)
  }));
}

const do_ = /*#__PURE__*/fromEffect( /*#__PURE__*/T.succeed({}));
export { let_ as let, bind, do_ as do };
//# sourceMappingURL=do.js.map