export interface OptionBase { t: T; } export interface OptionSome extends OptionBase { some: true; value: V; } export interface OptionNone extends OptionBase { some: false; } export type Option = OptionSome | OptionNone;