Change to using typed docstrings.

Why not `docs::Any`?

Why does the documentation have to be a string at all, for that matter?

It seems unnecessarily limiting to have this be restricted to subtypes of a particular type.