Start moving in changes from my resolve-shadow-warnings branch. Going to do