Makes necessary changes for by-value specialization.

By-type specialization is up next. Then functions. Then the STL. Then the world.