Discussed briefly in #28119, the ndarray backing a PandasArray can be swapped out by setitem, which can have surprising behavior for views ``` arr = pd.array([1, 2, 3]) view1 = arr.view() view2 = arr[:] view3 = np.asarray(arr) arr[0] = 9 assert view1[0] == 9 assert view2[0] == 9 assert view3[0] == 9 arr[1] = 2.5 view1[-1] = 5 assert arr[-1] == 5 # FAIL ```