I really don't get the "two different signatures" concern. The two functions do different things, why would we expect them to automatically share a signature.
There are a zillion different open() functions or methods in the standard library, and far more in third party software. They each have various different signatures and functionality because they "open" different things. So what? Use the interface to the function you are using, not to something else that happens to share a name (in a different namespace).