Reads a value from persistent storage, return a future that completes with an error if it's not a double.
Future<double?> getDouble(String key) => read<double>(key, _cast);