Motivations
Code currently uses Box<> extensively in the various recursive enums representing the program graph at various stages of translation. Some of the current translations involve direct pass through, and I expect considerably more sharing for the optimization stages.
Rc<> is more appropriate to avoid needless copies. The current convenience functions wrapping calls Box<>::new should probably be renamed as new_x.