It's a little unfortunate that these are still taking strings, since that requires e.g. incorrectly converting `Path`s to strings on Unix systems. I don't really know a good solution, though. Maybe the `BytesContainer` trait?