pub fn singleton_read<S, T>(
    storage: &'a S,
    key: &[u8]
) -> ReadonlySingleton<'a, S, T> where
    S: ReadonlyStorage,
    T: Serialize + DeserializeOwned