`np.nonzero` will give a tuple of results, one for each dimension of `arr`. We expect `arr` to me flattened but it may not be and the other dimensional results from `np.nonzero` will be silently ignored. 

Maybe we should do an explicit check at the start of the method to ensure that `arr` is indeed one-dimensional in order to prevent any kind of riot later on ...