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

var _chunkEBISTSVAjs = require('./chunk-EBISTSVA.js');


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


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

// src/FromIO.ts
var FromIO_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, FromIO_exports, {
  chainFirstIOK: () => chainFirstIOK,
  chainIOK: () => chainIOK,
  fromIOK: () => fromIOK,
  tapIO: () => tapIO
});
function fromIOK(F) {
  return (f) => _chunkSQA7G4TEjs.flow.call(void 0, f, F.fromIO);
}
function chainIOK(F, M) {
  return (f) => {
    const g = _chunkSQA7G4TEjs.flow.call(void 0, f, F.fromIO);
    return (first) => M.chain(first, g);
  };
}
function chainFirstIOK(F, M) {
  const tapIOM = tapIO(F, M);
  return (f) => (first) => tapIOM(first, f);
}
function tapIO(F, M) {
  const chainFirstM = _chunkEBISTSVAjs.tap.call(void 0, M);
  return (self, f) => chainFirstM(self, _chunkSQA7G4TEjs.flow.call(void 0, f, F.fromIO));
}







exports.fromIOK = fromIOK; exports.chainIOK = chainIOK; exports.chainFirstIOK = chainFirstIOK; exports.tapIO = tapIO; exports.FromIO_exports = FromIO_exports;
