change semantics of executeExhaustive/executeMissing

now returns a list of backend actions rather than a single action
this way we make clear that each action should run in its own "EnvIO"
unless the backend knows what it does