It's simple enough for clients. It's still a breaking change, though, and every client has to be touched. For example, right now I try to work with ApiSandbox, and it does not support or use uselang yet. Sure, it's easy enough to fix, but there are lots of clients out there, and most of them are not under our control.
I get the caching argument, though. I wonder if we couldn't just mark requests without uselang parameter anon-public-user-private. That way we would gradually get the caching benefits without breaking anything.