Before I saw happstack-wai I had a quick look at the happstack API and saw that the Request keeps the request body as a (lazy?) String. I'm curious to the rationale for this, as one could expect a lazy bytestring would be more efficient, and some kind of stream would better support error handling (given that the String is indeed lazy).