export function createContext(): [get: () => T, set: (value: T) => void] { let value: T | undefined; return [ () => { if (value === undefined) { throw new Error('Context value not set.'); } return value; }, newValue => { value = newValue; }, ]; }