We currently detect that the first two of these classes will lead to an error being raised at runtime, but we do not currently detect that the third of these classes will lead to an error being raised at runtime:
import collections
from typing import NamedTuple
class X(NamedTuple):
_foo: int
Y = collections.namedtuple("Y", "_x")
Foo = NamedTuple("Foo", [("_x", int), ("_y", str)])