Make action_graph type more abstract; proofs feel cleaner and clearer.