Mono class for monomorphizing types
Use Mono to make Path an instance of Eq

This also allows writing the QuickCheck properties in a less stupid way
by not comparing on `show` just to work around lack of `Eq` instance.
It wasn't possible to derive and I'm not sure it's possible to write at
all without monomorphizing.
More instances for (Eq,Ord,Show)