import { Option } from 'fp-ts/lib/Option'; // CommonJS import { Option } from 'fp-ts/es6/Option'; // ESModule import * as O from 'fp-ts/lib/Option' import { identity } from 'fp-ts/lib/function' import { pipeable } from 'fp-ts' pipeable.pipe( O.some(42), // O.Option O.chain(n => n === 42 ? O.some('Answer to Everything') : O.none), // (ma: O.Option) => O.Option O.fold(() => 'No Answer', identity) // (ma: O.Option) => string ) // string import * as E from 'fp-ts/lib/Either'; import { sequenceT } from 'fp-ts/lib/Apply'; import * as A from 'fp-ts/lib/Array'; const hoge = E.getApplicativeValidation(A.getMonoid()); console.log(sequenceT(hoge)(E.left(['a']), E.left(['b']))); // { _tag: 'Left', left: [ 'a', 'b' ] }