pub trait Delete { type Error; fn delete(&mut self, ptr: &Pointer) -> Result<Option<Value>, Self::Error>; }