This reverts commit 593b7cd6a1. This causes breakage on MSVC. I am not sure sure why, but this is not that important, so just back it out.
593b7cd6a1