The
GHC.Err module defines the code for the wired-in error
functions, which have a special type in the compiler (with "open
tyvars").
We cannot define these functions in a module where they might be used
(e.g.,
GHC.Base), because the magical wired-in type will get
confused with what the typechecker figures out.