vm/ops.go
func txMakeArray(st *State) {
	start := st.CurrentMark() // start
	end := st.StackTip()      // end

	if end <= start {
		panic(fmt.Sprintf("MakeArray: list start (%d) >= end (%d)", start, end))
	}

	list := make([]interface{}, end-start+1)
	for i := end; i >= start; i-- {
		list[i-start] = st.StackPop()
	}
	st.sa = list
	st.Advance()
}
func txMakeArray(st *State) {
	start := st.CurrentMark() // start
	end := st.StackTip()      // end

	if end <= start {
		panic(fmt.Sprintf("MakeArray: list start (%d) >= end (%d)", start, end))
	}

	list := make([]interface{}, end-start+1)
	for i := end; i >= start; i-- {
		list[i-start] = st.StackPop()
	}
	st.sa = list
	st.Advance()
}
// Grab every thing from current mark up to the tip of the stack,
// and make it a list