change final substitution run to substitute until no intermediate tvars are left; fixes the type for the fix.js testcase