Honestly, it makes my submodule support in `Index.Stage()` easier. Without it, staging only a submodule doesn't work without more complex changes to `PrepareBatch()` to override the `Count == 0` check that throws. Not difficult, just makes the flow of control less obvious.

From an API standpoint, it seems reasonable to me that passing empty would be a no-op - we'll just stage all `0` of the paths passed in. From a consumer standpoint, this also allows passing in a lazy enumeration without checking its length first, e.g. `Stage(myPaths.Where(p => GetCheckBox(p).IsChecked))`.