avsm/ocaml-cohttp — pull request #27 by yminsky (2013-05-19 11:44:01+00:00)
Title: sharing constraints -> destructive substitution

I'm not sure if this builds because I couldn't build it against the version of URI in OPAM. But I went ahead and gamely added in the bits of destructive substitution that I thought would be helpful. I now understand why there is a request sub-module; that's because there are IO operations for Request.t's. That seems reasonable enough, and the duplication isn't terrible, I think. But there's no reason to have separate copies of the IO module in the different interfaces, and that's what this patch does.