Merge pull request #61 from lowjoel/more-grammar
More grammar and API definitions, based on Evan's API.

(main@3f8461a7f9d1b77f0bfba88eb278d5ffdd6c99d2)