Consistent options

This makes our handling of options more consistent:

* Sometimes the argument was called `somePrefixOptions`, sometimes it was just `options`. This makes it consistently just `options`.
* The `@param` comment varied a lot. This makes it consistent with the type name.

The PR contains many independent commits, making it easy to remove the bits that you don't like. Just say!