(N.B. Do check your component structure before despairing)
Multiple Providers & Consumers (needed by functional components)
(Which gave us useReducer)