Solved by SimonW in post #4 
              
              
                You are doing exactly what I said that doesn’t work… 

This is bound to fail. It is first doing a slicing and getting feat[0], and then do a __setitem__. But after you did the slicing, you already get two objects sharing the same storage (feat and feat[0]), both in scope, so it doesn’t work. feat[0…