arr = [1, 2, 3]
new_arr1 = push(arr, item = 4)
new_arr2 = push(new_arr1, item = 5)
assert(new_arr1[0], isEqualTo = 1, error = "element 0 should not have changed")
assert(new_arr1[1], isEqualTo = 2, error = "element 1 should not have changed")
assert(new_arr1[2], isEqualTo = 3, error = "element 2 should not have changed")
assert(new_arr1[3], isEqualTo = 4, error = "4 was added to the end of the array")
assert(new_arr2[0], isEqualTo = 1, error = "element 0 should not have changed")
assert(new_arr2[1], isEqualTo = 2, error = "element 1 should not have changed")
assert(new_arr2[2], isEqualTo = 3, error = "element 2 should not have changed")
assert(new_arr2[3], isEqualTo = 4, error = "4 was added to the end of the array")
assert(new_arr2[4], isEqualTo = 5, error = "5 was added to the end of the array")
