export function getStore(store: T, key: P): T[P] { return store[key]; } export function setStore(store: T, key: P, value: T[P]): void { if (Object.isFrozen(store)) { throw new Error(`frozen object is immuatable; cannot set ${ String(key) }`); } store[key] = value; }