Fixing #8, and addressing #7.

This includes the new idea of a result type constraint and
updates all of the examples under compound requirement.