Given two `interface` declarations of the same name each contributing an overload, how does the compiler order the resulting call signatures for overload resolution?
interface Box { add(x: string): string; }
interface Box { add(x: number): number; }
declare const b: Box;
const r = b.add(1);