Changed semantics to guard().