by now it's clear that adaptive optimization is a universal technique that can make *any* program fast; enough speculative inlining at run-time (and dollars thrown at VM engineers) will burn away all abstractions. but there is more AOT compilation of dynamic languages than there used to be: Swift, Dart, JS via Hermes et al; and for AOT there is no one universal technique