These changes pay particular attention to API endpoints, to try to
ensure that any rustdocs generated are detailed and sensible. A good
next step, eventually, might be to include doctest examples, as well.
For the moment, it's not clear that they would provide a lot of value,
though.
In addition, this does a couple refactors to simplify the code base in
ways that make things clearer or, at least, briefer.