This is new as of 3.5.1, there was no error in 3.4.5. Error message: ``` TS2536: Type 'string' cannot be used to index type 'T' ``` Obviously wrong, since `T` is defined as `Record<string, any>`. ```js function isString (thing: unknown): thing is string { return typeof thing === 'string'; } function clone<T extends Record<string, any>>(obj: T): T { const objectClone = {} as T; for (const prop of Reflect.ownKeys(obj).filter(isString)) { objectClone[prop] = obj[prop]; } return objectClone; } ``` [Playground Link](http://www.typescriptlang.org/play/index.html#src=function%20isString%20(thing%3A%20unknown)%3A%20thing%20is%20string%20%7B%0D%0A%20%20%20%20return%20typeof%20thing%20%3D%3D%3D%20'string'%3B%0D%0A%7D%0D%0A%0D%0Afunction%20clone%3CT%20extends%20Record%3Cstring%2C%20any%3E%3E(obj%3A%20T)%3A%20T%20%7B%0D%0A%20%20%20%20const%20objectClone%20%3D%20%7B%7D%20as%20T%3B%0D%0A%0D%0A%20%20%20%20for%20(const%20prop%20of%20Reflect.ownKeys(obj).filter(isString))%20%7B%0D%0A%20%20%20%20%20%20%20%20objectClone%5Bprop%5D%20%3D%20obj%5Bprop%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20return%20objectClone%3B%0D%0A%7D%0D%0A) — It will not show an error until the Playground uses the new TS 3.5.x 