More intelligent diffing - #6