If we're going to do this (and I'm fine that we are) there's probably a lot of clean-up we can make other places in the compiler to leverage.