export interface MaybeType { chain: (fn: (arg: T) => MaybeType) => MaybeType; else: (fallback: T) => MaybeType; filter: (...fns: any[]) => MaybeType; map: (...fns: any[]) => MaybeType; pipe: (...fns: any[]) => MaybeType; value: () => T; }