# Bug Report <!-- Please fill in each section completely. Thank you! --> ### π Search Terms <!-- What search terms did you use when trying to find an existing bug report? List them here so people in the future can find this one more easily. --> ### π Version & Regression Information Happens in both versions 4.2.3 and 4.3.0-beta <!-- When did you start seeing this bug occur? "Bugs" that have existed in TS for a long time are very likely to be FAQs; refer to https://github.com/Microsoft/TypeScript/wiki/FAQ#common-bugs-that-arent-bugs If possible, please try testing the nightly version of TS to see if it's already been fixed. For npm: `typescript@next` This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly Note: The TypeScript Playground can be used to try older versions of TypeScript. Please keep and fill in the line that best applies: --> ### β― Playground Link <!-- A link to a TypeScript Playground "Share" link which shows this behavior The TypeScript Workbench can be used for more complex setups, try https://www.typescriptlang.org/dev/bug-workbench/ As a last resort, you can link to a repo, but these will be slower for us to investigate. --> [Playground link with relevant code](https://www.typescriptlang.org/play?#code/MYewdgzgLgBBMF4ZgKYHcYGUVQDzQCcBLMAcwD4AKASgG4AoeiAOgDcBDAGwFcUIbmqAB5QBHHigZA) ### π» Code ```ts const s = new Set<string>(); s.values().next().value; ``` ### π Actual behavior Type of `value` is `any`. <!-- What happened, and why it was wrong --> ### π Expected behavior Type of `value` should probably be `string | undefined` or something. <!-- What you expected to happen instead, and why -->