Replace '?callStack' implicit param constraint with HasCallStack in GHC.Internal.Exception.throw
In Base 4.20.0 the ability to pass callstacks with exceptions was introduced. However, in the new constraint on Control.Exception.throw that was therefore added, the internal ?callStack :: CallStack implicit parameter syntax, rather than the 'public-by-convention' HasCallStack type alias was used:
Link to base 4.20.0's Control.Exception.throw Haddock documentation
This MR fixes this, by using the HasCallStack name instead. Besides hiding the implementation detail of HasCallStack (currently) being implemented using an implicit parameter, this ensures that the similarity between normal throw and throwIO is clear to a documentation reader.
As this change only replaces a constraint with a type alias of that same constraint, it should change how this shows up in the Haddock documentation, but not change any behaviour of GHC or base in any way.