How language design leads to AOT compilation or a JIT, and how Swift tries a hybrid approach: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/001948.html