import * as Monad from './either.impl';
import { noop } from '../function';
export class Either extends Monad.Either {
private constructor() {
super(noop as never);
}
}
export type Left = Monad.Left;
export function Left(a: a): Left
export function Left(a: a): Either
export function Left(a: a): Either {
return new Monad.Left(a);
}
export type Right = Monad.Right;
export function Right(b: b): Right
export function Right(b: b): Either
export function Right(b: b): Either {
return new Monad.Right(b);
}