I can't seem to find where that restriction is documented. That said, my question was more along the lines of why that restriction was designed in without supporting `Request` objects in the first place. I suspect that most users using `Request` objects only create `PreparedRequest` with directly before calling `Session.send()`, without modifying it, and so that extra hoop just gets in the way of the common case. It seemed like an artificial obstacle.

Avoiding the burden lf supporting multiple argument types was the kind of rationale I expected; because it was documented before it was designed isn't.

However: this doesn't affect my use case and I was just trying to understand the design decision better. Thanks for your answer.