interface PatternMatch { caseOf(o: { [k: string]: (...args: any[]) => T; }): T; } export default PatternMatch;