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

var _chunkQHIPM4BVjs = require('./chunk-QHIPM4BV.js');


var _chunkQ2LZCTWPjs = require('./chunk-Q2LZCTWP.js');


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

// src/Alternative.ts
var Alternative_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, Alternative_exports, {
  altAll: () => altAll2,
  getAlternativeMonoid: () => getAlternativeMonoid
});
function altAll2(F) {
  return _chunkQHIPM4BVjs.altAll.call(void 0, F)(F.zero());
}
function getAlternativeMonoid(F) {
  const f = _chunkQ2LZCTWPjs.getApplySemigroup.call(void 0, F);
  return (S) => {
    const SF = f(S);
    return {
      concat: (first, second) => F.alt(SF.concat(first, second), () => F.alt(first, () => second)),
      empty: F.zero()
    };
  };
}





exports.altAll = altAll2; exports.getAlternativeMonoid = getAlternativeMonoid; exports.Alternative_exports = Alternative_exports;
