Documented Ingot Module.

We should allow any type. BodyParser, for instance, may want to store a `Parsed` struct as opposed to an instance of `BodyParser`, which I view to be a legitimate use case. If you store `uint` and it screws things up that's your own fault.