fixed typeinference
finished a pass of shrinking, doesn't seems to get much reduced