I’ll second the request for a “Did you mean…” approach. The nice thing about that is you can see what you’re going to run before you run it. For example

```
julia> a = exponential(1)
ERROR: UndefVarError: exponential not defined
Stacktrace:
[1] top-level scope at REPL[7]:1
julia> fix
[ Info: Fixing UndefVarError(:exponential) with exponent.
┌ Warning: Exception MethodError(exponent, (1,), 0x0000000000006cfd) not implemented.
└ @ TheFix C:\Users\jdiegelm\.julia\packages\TheFix\PB6m1\src\TheFix.jl:198
┌ Warning: Exception MethodError(exponent, (1,), 0x0000000000006cfd) not implemented.
└ @ TheFix C:\Users\jdiegelm\.julia\packages\TheFix\PB6m1\src\TheFix.jl:198
julia> a = exponent(1)
ERROR: MethodError: no method matching exponent(::Int64)
Closest candidates are:
exponent(::BigFloat) at mpfr.jl:835
exponent(::Missing) at math.jl:1197
exponent(::T) where T<:Union{Float16, Float32, Float64} at math.jl:782
Stacktrace:
[1] top-level scope at none:1
[2] eval at .\boot.jl:331 [inlined]
```

What I really wanted here was for it to replace `exponential`

with `exp`

, but `exponent`

was the shorter edit distance, so it did that instead. It would be nice to have a way to decide against an incorrect fix before it happens. As @jling pointed out, there is quite a bit of precedence for packages that modify the behavior of the REPL, so I don’t think many people would find this to be too intrusive.