Should we first check if the key exists? ```rust fn set(&self, key: String, value: String) -> Result<()> { if let Some(_) = self.index.get(&key) { return Ok(()); } self.writer.lock().unwrap().set(key, value) } ```