Refactor compound evaluators.

This simplifies the interface a bit.