work in progress: kvstore: typed store