public static T GetOrDefaultAsType <T>(this IKeyValueStore <object> store, string key, T def) => (T)store.GetOrDefault(key, () => def);
 public static T GetOrDefault <T>(this IKeyValueStore <T> store, string key, T def) => store.GetOrDefault(key, () => def);