removeAt через append и исходный слайс

Что выведетMiddleбесплатно01-t032

Чистая ли функция removeAt? Что выведет программа и как сделать функцию чистой?

main.gogo
1package main2 3import "fmt"4 5func main() {6	arr := []int{1, 2, 3, 4, 5}7	out := removeAt(arr, 1)8	out = removeAt(out, 1)9 10	fmt.Println(arr, out)11}12 13func removeAt(items []int, i int) []int {14	return append(items[:i], items[i+1:]...)15}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.