Start restructuring to support generalized where clauses etc.
Thread a id to `Obligation`
Move the list of region obligations into the fulfillment context.
Introduce predicates but don't use them.