Small optimizations
* compact(render(…)) => compactRender(…)
* HttpResponse caches parsed bodies based on class rather than jsonr