import { default as Applicative } from '../Applicative'; import { default as Chain } from '../Chain'; export default interface Monad extends Applicative, Chain { chain(fn: (a: A) => Monad): Monad; }