pub fn singleton<'a, S: Storage, T>( storage: &'a mut S, key: &[u8]) -> Singleton<'a, S, T> where T: Serialize + DeserializeOwned,