export const LEFT = '@typed/Left' as const export type LEFT = typeof LEFT /** * A JSON-serializable Left data-structure. * @name Left * @type */ export interface Left { readonly [LEFT]: A } export namespace Left { /** * Create a Left * @name Left.of(value: A): Left */ export function of(value: A): Left { return { [LEFT]: value } } } /** * Extracts the value contained in a Left. * @name fromLeft(left: Left): A */ export function fromLeft(left: Left): A { return left[LEFT] }