Provides more API flexibility and correctness, while still preserving the handy high level `pipeToFileSystem` API.