a little more careful about transforming ac.done() into a no-op