Added an example of a custom open predicate type
Fairly radical restructuring. Removed unused code. Body now forms an Applicative.