Implement createContext(defaultValue) returning { Provider, useContext }:
Provider({ value, children }) — sets the active context value while children runs.useContext() — returns the current value (or default if no Provider).solve(defaultVal, providers) builds nested providers and returns values
seen at each level.
Sample tests