A Pyright user just posted a feature request [here](https://github.com/microsoft/pyright/issues/1584). He's suggesting that Pyright (and type checkers in general) should flag as an error a subscripted access to a non-required field within a TypedDict. Here's an example (using the new PEP 655 notation for simplicity). ```python from typing import TypedDict class MyDict(TypedDict): fieldA: str fieldB: NotRequired[int] def func(x: MyDict): a = x['fieldA'] # OK b = x['fieldB'] # Should generate an error b = x.get('fieldB') # OK ``` I noticed that mypy does not flag x['fieldB'] as an error even though the field is potentially not present. I presume that code should always use the `get` method when attempting to access such fields. I'm curious why the TypedDict support in mypy doesn't emit an error in this case. Was that an oversight, or perhaps there was there a concern about generating false positives? My inclination is to always emit an error when code attempts to access a non-required TypedDict field using a subscript. Thoughts? -- Eric Traut Contributor to Pyright & Pylance Microsoft Corp.