Checked vs. Unchecked
A module is checked or unchecked
- no partially checked modules
Checked modules are:
- guaranteed not to raise runtime type errors
- except at point of call from unchecked modules
- except at explicit dynamic casts
- protected at runtime against violations by unchecked modules
- e.g. messing with __dict__ or assignment to module globals or class/instance variables