I think that now that ids are stored in numpy arrays this won't make a copy. What about using  `.copy()`?