Changing the existing semantics of the method signature breaks backwards compatibility, so that's not an option until we start working on Puppet 4. If the `options` hash was added as a fourth parameter and there were validity checks that might be permissible, but modifying the arguments in place isn't an option.

Although, I believe the `redirect_limit` was added after 3.2 so it hasn't been released, so we wouldn't be breaking the API of a released version of Puppet. However in general this is a sketchy thing to do.