I don't understand how anyone could leave the job half-finished and compromise in this way: in these scenarios, almost all the legwork is done to also build a compiler, for those times when the interpreted code runs just right and is ready for production. Why are such interpreters never finished into a compiler?