export const eq = (a: T) => (b: T): boolean => a === b export const match = (pattern: { [key in K | '_']: () => R }) => (k: K): R => (pattern[k] || pattern._)()