Am So., 31. Mai 2020 um 10:06 Uhr schrieb Dannyu NDos <ndospark320@gmail.com>:
I mean, shouldn't there be a guard? [...]

In general, I'm heavily opposed against any change which can introduce subtle changes in the semantics without any warning/compilation error. Consider e.g. length (readsPrec 1 "2 % 0" :: [(Rational, String)]). Currently, this returns 1, which will silently turn into 0 with your proposed change, at least if I see this correctly. Therefore: -100 for this proposal. :-}