This is wasted work. I gave up on this line of changes. I'm refactoring all of this in an upcoming commit.