Working on the include/super concept, and only having methods in objects
(no fields)
Simplify conditionals and basic operators.  Now the operator itself is
the method name to use, and we're just requiring the &&, ||, and =>
operators to be defined directly on booleans and option.  || can do the
job of ?:, we don't need an extra operator for that now, either.
Commit before changing to use a monadic approach for lets and expression
lists.
Many changes.  Test cases are passing, although some features have been
lost along the way.
Incremental reparser is working a bit now.
Add inspect primitive
Fixup pattern unpacking for arguments, make it work and support
recursive patterns and unpacking lazy parameters (by calling the
function).
Test that single-arg lambdas can use a pattern without wrapping in
parentheses.
Test unpacking via assignment.
Remove MONAD_BIND operator
Remove old analysis stuff, will rebuild from scratch
Add support for the "extend" {+} operator.  Improve pattern matching
support to destructure records and sequences.
Try and use hashCode to speed up equals checks - if the hashCode doesn't
match, the objects aren't equal.
Basic def/ref analysis working in a unit test.