pull down to refresh

QA of my boil-the-ocean refactor. It's all done finally but it needs:
  • a couple passes over edge cases
  • a couple additional passes over sensitive areas
  • a thorough review of the performance of critical paths (which I intentionally ignored until now)
This all took way longer than anticipated. The side-effects of these fundamental code changes were more significant than I imagined.