Added some more tests.
More tests and utilities written.

At some point I do want to come up with a better way for collect() to do the
right thing in regard to scoping.