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


var _chunkS2Z5L3RBjs = require('./chunk-S2Z5L3RB.js');


var _chunkT4ZJ6CA2js = require('./chunk-T4ZJ6CA2.js');



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


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


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

// src/Compactable.ts
var Compactable_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, Compactable_exports, {
  compact: () => compact,
  getCompactableComposition: () => getCompactableComposition,
  separate: () => separate
});
function compact(F, G) {
  return (fga) => F.map(fga, G.compact);
}
function separate(F, C, G) {
  const _compact = compact(F, C);
  const _map = _chunk7K74W2G3js.map.call(void 0, F, G);
  return (fge) => _chunkT4ZJ6CA2js.separated.call(void 0, _compact(_chunkSQA7G4TEjs.pipe.call(void 0, fge, _map(_chunkS2Z5L3RBjs.getLeft))), _compact(_chunkSQA7G4TEjs.pipe.call(void 0, fge, _map(_chunkS2Z5L3RBjs.getRight))));
}
function getCompactableComposition(F, G) {
  const map2 = _chunk7K74W2G3js.getFunctorComposition.call(void 0, F, G).map;
  return {
    map: map2,
    compact: compact(F, G),
    separate: separate(F, G, G)
  };
}






exports.compact = compact; exports.separate = separate; exports.getCompactableComposition = getCompactableComposition; exports.Compactable_exports = Compactable_exports;
