pub(crate) fn rocksdb_core_loop<K, V, M, O, IM>(
    options: InstanceOptions,
    tuning_config: RocksDBConfig,
    instance_path: PathBuf,
    legacy_instance_path: PathBuf,
    cmd_rx: Receiver<Command<K, V>>,
    shared_metrics: M,
    instance_metrics: IM,
    creation_error_tx: Sender<Error>,
    enc_opts: O
)where
    K: AsRef<[u8]> + Send + Sync + 'static,
    V: Serialize + DeserializeOwned + Send + Sync + 'static,
    M: Deref<Target = RocksDBSharedMetrics> + Send + 'static,
    O: Options + Copy + Send + Sync + 'static,
    IM: Deref<Target = RocksDBInstanceMetrics> + Send + 'static,