Why do these produce different assembly?
these all mean the same thing, discard the result...
# test1
# 154 lines of assembly
proc test: int =
echo "wow"
10
var _ = test()
var _ = test()
# test2
# 152 lines of assembly
proc test: int =
echo "wow"
10
discard test()
discard test()
# test3
# 116 lines of assembly
proc test: int =
echo "wow"
10
var _ {.global.} = test()
var _ {.global.} = test()