As I said in a comment on the last PR, the problem was that certain tests were failing because they were passing the enconding argument as "utf-8" to binary modes, which do not accept enconding.
Well, something doesn't seem to be working as it should. Let me take a look at it thoroughly so I can run the tests before doing the final PR. I'm a bit busy and I'm running PR without verifying the tests.
As I said in a comment on the last PR, the problem was that certain tests were failing because they were passing the enconding argument as "utf-8" to binary modes, which do not accept enconding.