A general class for expressing deep seq. It is used in the K case for
the generic seq.

We do not give an instance of the form
instance (Regular a, Seq (PF a)) => DeepSeq a where dseq = gdseq
because this requires undecidable instances. However, any type for which
there is a generic instance can be given a trivial instance of DeepSeq by
using gdseq.