Document All The Things (At Once)

This should be enough to get us by for now.

I'm going to make it a hard requirement from now on that pull requests contributing significant new functionality come with documentation.
I'm used to seeing a space between the `@autoclosure` and the `()`, but I guess that's just stylistic