Why are <code>exec</code> and <code>run</code> so confusing?

Originally posted on the Spinel blog . While working on rv , there&rsquo;s a specific question that has come up over and over again, in many different forms. In the simplest possible form, it boils down to: What is the difference between rv exec and rv run ? Why have both? We haven&rsquo;t finished implementing either rv exec or rv run yet, but every time one or the other comes up in a…