I'd like to make an addition to the WAI protocol: a field in the Request data type to track the request body size. I would like this to be:

    requestBodyLength :: Maybe Word64

I think the choice of Word64 makes sense without further explanation. The perhaps surprising part is the use of `Maybe`. The reason for this is that in the case of a chunked request body, there's no way to know the size of the request body from the headers alone. So the logic for populating this field would go something like:
One other idea would be to create a special datatype such as `data RequestBodyLength = ChunkedBody | KnownLength Word64`, but I don't believe it really adds much above the `Maybe Word64`.

Any thoughts on this proposal?

Note: This is related to Yesod issue: https://github.com/yesodweb/yesod/issues/468