Update HitDiff record

I would like to update the HitDiff record.
The last version I did was poor. This design is definitely better.
I also introduce the concept of context in the defaultDiff function.