How far should a programming language aware diff go? (semanticdiff.com)