"use strict"
Object.defineProperty(exports, "__esModule", { value: true })
exports.compose_ = exports.compose = void 0
// tracing: off
const core_1 = require("./core")
/**
 * Uses the output of `that` to provide to `self`
 *
 * @dataFirst compose_
 */
function compose(that, __trace) {
  return (self) => compose_(self, that, __trace)
}
exports.compose = compose
/**
 * Uses the output of `that` to provide to `self`
 */
function compose_(self, that, __trace) {
  return (0, core_1.chain_)(self, (r) => (0, core_1.provideAll_)(that, r), __trace)
}
exports.compose_ = compose_
//# sourceMappingURL=compose.js.map
