pub trait RefType<T: RefTarget>: Clone + Debug + Eq + PartialEq + Serialize + DeserializeOwned + Display + Send + Sync + From<Self::Inner> {
type Inner;
fn take(self) -> Self::Inner;
fn inner(&self) -> &Self::Inner;
fn not_found_error(&self) -> Error;
fn already_exists_error(&self) -> Error;
fn short_type_name() -> &'static str { ... }
}