You can provide a custom filesystem which doesn't have to support these undocumented calling variants of these methods. Currently that's fine, but changing the typings would make that invalid.

The filesystem caching would also be a little bit sad if you use the encoding argument as it's only caching calls and doesn't convert between encoding.