figuring out type abstraction for StorageEngine