This issue tracks our progress on the following tasks: - [ ] Comment code: why we used `From<Statement>` in `mithril_proof` - [ ] Comment: why `Rc` is used in `mithril_proof::Statement` - [ ] Code: change the output of `Witness::verify` to use a `Result` type so we can know more about what failed than `false`.