yeah dont feel like that argument holds here... Once a user has logged in, and service objects(compute, etc) take over, it seems illogical that the request object should have to know about version/tenant.  It seems to me like thats a concern of identity and not so much compute/swift, etc.   There are lots of other providers who take a similar approach to requests, and I happen to believe thats a good thing.. i.e. just because something was done in the past does not mean its automatically bad.  That line of reasoning is not persuasive to me.  Examples of similar approaches, ibm, bluebox, glesys.. lots of others it appears.  I happen to believe that leaving that information in the domain of identity is more transparent, and more consistent.    If we can come up with a way that doesnt throw away already parsed data, which is what this code does, that would go a long way to achieve all those stated goals.