On one hand, the change is a path to a better deepseq that is more correct.
On the other hand
1.) It does change the semantics of existing code.
2.) It does cause existing code that works to break if they don't supply a Generic instance or a manual default.
Admittedly:
#1 happens by making it more strict, which is what we want in the case of NFData, for once.
#2 is something that is easily rectified and makes the resulting code more robust/useful anyways. Folks who don't want to lean on generics have the option to just write the rnf x = seq x () default, so nobody is being forced to lean on the extension.
I'm somewhat on the fence about this, because I don't like silent semantics changes, but as it is only happening by making things more strict in the one place in the language where that is the very point, you can consider me weakly +1.
-Edward