"use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkSQA7G4TEjs = require('./chunk-SQA7G4TE.js');


var _chunk6C3VEZWHjs = require('./chunk-6C3VEZWH.js');

// src/Strong.ts
var Strong_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, 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(), _chunkSQA7G4TEjs.identity, (a) => [a, a])
  );
}
function splitStrong(F) {
  return split(F, F);
}
function fanout(F) {
  return fanOut(F, F);
}







exports.split = split; exports.fanOut = fanOut; exports.splitStrong = splitStrong; exports.fanout = fanout; exports.Strong_exports = Strong_exports;
