Gradual typing: Programming Language Design course | Zoonk
26. Gradual typing
Combine static and dynamic regions with unknown types, runtime casts, and blame tracking. Apply gradual typing to a small dynamic language without pretending that missing annotations are fully static.