import {
  identity
} from "./chunk-ZI34HWXZ.mjs";
import {
  __export
} from "./chunk-QK4PKNB3.mjs";

// src/Strong.ts
var Strong_exports = {};
__export(Strong_exports, {
  fanOut: () => fanOut,
  fanout: () => fanout,
  split: () => split,
  splitStrong: () => splitStrong
});
function split(S, C) {
  return (pab, pcd) => C.compose(S.second(pcd), S.first(pab));
}
function fanOut(S, C) {
  const splitSC = split(S, C);
  return (pab, pac) => C.compose(
    splitSC(pab, pac),
    S.promap(C.id(), identity, (a) => [a, a])
  );
}
function splitStrong(F) {
  return split(F, F);
}
function fanout(F) {
  return fanOut(F, F);
}

export {
  split,
  fanOut,
  splitStrong,
  fanout,
  Strong_exports
};
