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

var _chunk7K74W2G3js = require('./chunk-7K74W2G3.js');


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


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

// src/Separated.ts
var Separated_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, Separated_exports, {
  Bifunctor: () => Bifunctor,
  Functor: () => Functor,
  URI: () => URI,
  bimap: () => bimap,
  flap: () => flap2,
  left: () => left,
  map: () => map,
  mapLeft: () => mapLeft,
  right: () => right,
  separated: () => separated
});
var separated = (left2, right2) => ({ left: left2, right: right2 });
var _map = (fa, f) => _chunkSQA7G4TEjs.pipe.call(void 0, fa, map(f));
var _mapLeft = (fa, f) => _chunkSQA7G4TEjs.pipe.call(void 0, fa, mapLeft(f));
var _bimap = (fa, g, f) => _chunkSQA7G4TEjs.pipe.call(void 0, fa, bimap(g, f));
var map = (f) => (fa) => separated(left(fa), f(right(fa)));
var mapLeft = (f) => (fa) => separated(f(left(fa)), right(fa));
var bimap = (f, g) => (fa) => separated(f(left(fa)), g(right(fa)));
var URI = "Separated";
var Bifunctor = {
  URI,
  mapLeft: _mapLeft,
  bimap: _bimap
};
var Functor = {
  URI,
  map: _map
};
var flap2 = /* @__PURE__ */ _chunk7K74W2G3js.flap.call(void 0, Functor);
var left = (s) => s.left;
var right = (s) => s.right;













exports.separated = separated; exports.map = map; exports.mapLeft = mapLeft; exports.bimap = bimap; exports.URI = URI; exports.Bifunctor = Bifunctor; exports.Functor = Functor; exports.flap = flap2; exports.left = left; exports.right = right; exports.Separated_exports = Separated_exports;
