Yes, correct. But I think ghci's errors are already distinguishable from `error`, e.g. this:
```
Prelude> :set -Wall
Prelude> :load test
[1 of 1] Compiling Main ( test.hs, interpreted )
test.hs:1:1: Warning:
Top-level binding with no type signature: main :: IO ()
Ok, modules loaded: Main.
Prelude> let main = asdasdasd
<interactive>:6:12: Not in scope: ‘asdasdasd’
*Main> :load test2
[1 of 1] Compiling Main ( test2.hs, interpreted )
test2.hs:1:8: Not in scope: ‘foo’
Failed, modules loaded: none.
Prelude> error "foo"
*** Exception: foo
```
will change to:
```
Prelude> :set -Wall
Prelude> :load test
[1 of 1] Compiling Main ( test.hs, interpreted )
test.hs:1:1: Warning:
Top-level binding with no type signature: main :: IO ()
Ok, modules loaded: Main.
Prelude> let main = asdasdasd
<interactive>:6:12: Not in scope: ‘asdasdasd’
*Main> :load test2
[1 of 1] Compiling Main ( test2.hs, interpreted )
test2.hs:1:8: Error: Not in scope: ‘foo’
Failed, modules loaded: none.
Prelude> error "foo"
*** Exception: foo
```
Don't think this will cause any trouble (well, except for current tests that check for output, which was mentioned in ticket #10021, but I hope it's not that big of a problem).