Topic/upgrades

I suspect this caused some performance regressions, especially in Blaze.  I'm concerned about correctness first, and reoptimization second.

I'm not sure that this is correct, especially with regard to `killBy` replacements, but all the tests pass.