import overload from '../util/overload.js' const adder = overload([ (x: number, y: number) => { if (typeof x === 'number' && typeof y === 'number') return x + y throw new TypeError('Can only add numbers') }, (x: string, y: string) => 'Yay' + x + y ] as const) console.log(adder(1, 2)) console.log(adder('a', 'b')) //@ts-expect-error console.log(adder(3n, 4n))