Do not allocate so many arrays in optimizer hot path
Before:
```
julia> @time Cthulhu.mkinterp(TortureTest.run_test1, Tuple{Int});
12.851312 seconds (89.76 M allocations: 12.845 GiB, 39.38% gc time)
julia> @time Cthulhu.mkinterp(TortureTest.run_test1, Tuple{Int});
10.862736 seconds (89.76 M allocations: 12.845 GiB, 26.90% gc time)
```
After:
```
julia> @time Cthulhu.mkinterp(TortureTest.run_test1, Tuple{Int});
10.929275 seconds (59.01 M allocations: 10.987 GiB, 33.07% gc time)
julia> @time Cthulhu.mkinterp(TortureTest.run_test1, Tuple{Int});
8.635190 seconds (59.01 M allocations: 10.987 GiB, 20.06% gc time)
```