Add some docs to the type specs.
Add more docs. Still need to fill in more details and some examples.