We actually need to lookup both every time and throw an error if there's a conflict. If the command is going to succeed, it needs to be deterministic.