Improve type class overlap check

Normalise before checking - store type class instances in normal form.
Fixes #249