1. 10

  2. 4

    Spot on description of a great design. I haven’t had a chance to use it yet, but everything I’ve seen from Swift & it’s team has been very impressive.

    Focusing just on the performance aspect of static vs dynamic, rather than the “correctness” aspect of types: It’s clear that you want “static where possible, dynamic when necessary” without having to introduce two entirely distinct sets of concepts to understand and choose between. Ideally, they should have complete overlap, such that a subtle shift in one direction doesn’t require non-trivial code changes.