seq
In Section 10.3 of “A History of Haskell: Being Lazy with Class” it is explained that seq
originally required a typeclass. This requirement was removed when it required too many changes to type signatures when speculative seq
s were introduced when debugging.