• annotations
  • type-hinting

A type hint that tries to use a not-yet-defined name will throw a NameError.