Sept. 18, 2020
2:16 p.m.
I understand the theory here: but practicality beats purity -- do we really imagine that folks will create these path-like and file-like objects, and then pass them into json.load() and get upset when it behaves oddly?
And this really doesn't feel that different from the fact that you can create an object with a .read() method that does something different, and it will fail then, too.
+1, emphasis on the *practicality beats purity*. The whole reason this change was proposed is practicality. Adding two separate functions doesn't solve that problem. (Or, to be more precise, it does solve it, but the complexity it introduces directly counteracts any practicality it introduces.)