• type-hinting
  • annotations

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