OK, so this just keeps everything then - is that right? In other words, the same as if you don't call the function? In that case, documenting that would be good, and just returning if ``nkeep == -1`` rather than still going through processing steps would be better for efficiency.