interface Stuff { a?: () => Promise; b: () => Promise; c: () => Promise; d: () => Promise; e: () => Promise; f: () => Promise; g: () => Promise; h: () => Promise; i: () => Promise; j: () => Promise; k: () => Promise; } function foo(): Stuff | Date { return { a() { return [123] }, b: () => "hello", c: () => "hello", d: () => "hello", e: () => "hello", f: () => "hello", g: () => "hello", h: () => "hello", i: () => "hello", j: () => "hello", k: () => 123 } }