import * as tsplus_module_1 from "@effect/core/io/Exit/operations/map";
import * as tsplus_module_2 from "@effect/core/io/Exit/operations/flatMap";
import * as tsplus_module_3 from "@effect/core/io/Exit/operations/succeed";
/**
 * @tsplus fluent ets/Exit bind
 */

export function bind(tag, f) {
  return mk => tsplus_module_2.flatMap_(mk, k => tsplus_module_1.map_(f(k), a => ({ ...k,
    [tag]: a
  })));
}
/**
 * @tsplus fluent ets/Exit bindValue
 */

export function bindValue(tag, f) {
  return mk => tsplus_module_1.map_(mk, k => ({ ...k,
    [tag]: f(k)
  }));
}
/**
 * @tsplus static ets/Exit/Ops Do
 */

export function Do() {
  return tsplus_module_3.succeed({});
}
//# sourceMappingURL=do.mjs.map