I could have render return Response, but in all but one case it's going to side-effect what it gets and pass it back. Filling in the response is inherently a side-effecting operation. 

In fact, I think I want to take this in a slightly different direction and add an apply method to Renderers. The filter would provide the response object to the renderer which would fill it in.