Change partition to take a generic function from A->R, not just a predicate function.
Field -> Fields