Allow overlapping patterns in promoted instances.

Fixes #56
Improve deriving of Ord instances. Fixes #57

Derived instances are now linear