This also fixes a bug that I didn't see causing any problems yet in generic function instantiation where it would read from a GetOrPutResult too late. Also it delays full resolution of generic function type parameters until after the function body is finished being analyzed. closes #11291