Associate type information with addressable Go expressions;
Value propagation: fix diffing in runFor() and simplify error messages