// @target: es5 interface I { [s: string]: T; } declare function foo(obj: I): T foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0] });