Throw an exception rather than exit on error, so it can be detected and tested
Add assert_call_fails builtin as a (temporary) way to test that code fails
Move out type checking to another function, and don't restrict to instances of Object
Small cleanups
Allow return type annotation on functions
Fix a couple minor issues
Fix Params.repr
Comment out some return type tests, as they expose a shortcoming in the current design that has been blocking work for too long. There's a bigass explanation of it in the comment if anyone is interested (probably just future-Zach).
Super-tiny cleanup
Parser/lexer support for shifting
Generate operators for builtin classes that delegate to the Python runtime with some sorta-ugly metaprogramming