Implement time-versioned KV store with restore | Perplexity Coding Question