Added in a very unsound var resolver, should give a good ceiling on how well we could do without going interprocedural