pub fn typed<S, T>(storage: &mut S) -> TypedStorage<'_, S, T> where S: Storage, T: Serialize + DeserializeOwned,