Wired-in names in hs-boot files are not fully checked
#19638 (closed) was due to a declaration in a hs-boot file of ghc-bignum not matching the declaration in the corresponding hs file.
In #19638 (comment 352989) @mpickering noticed that it is because wired-in names bypass some checks (see https://gitlab.haskell.org/ghc/ghc/-/blob/fc9546caf3e16db070bfc7bb5523c38595233e26/compiler/GHC/Tc/Module.hs#L870)
We should be more selective about the wired-in names that need this special treatment (which has been added in 5ad61e14).
Moreover the comment there says that it's used in particular for GHC.Err.error
because it's a rather gross hack, but libraries/base/GHC/Err.lhs-boot
doesn't exist since 404327a9 and error
isn't wired-in since a7b751db.