> There’s no way to write Haskell that puts us inside the program process, so we will still need to restart in a debugger.
If you’re regularly using a debugger while developing ordinary Haskell programs, you’re doing something terribly wrong. Possibly writing in a very imperative style?