// Repro from #30685 type Reducer = (state: S) => S; declare function combineReducers(reducers: { [K in keyof S]: Reducer }): Reducer; type MyState = { combined: { foo: number } }; declare const foo: Reducer; const myReducer1: Reducer = combineReducers({ combined: combineReducers({ foo }), }); const myReducer2 = combineReducers({ combined: combineReducers({ foo }), }); // Repro from #30942 declare function withH(handlerCreators: HandleCreatorsFactory): U; type Props = { out: number } type HandleCreatorsFactory = (initialProps: T) => { [P in keyof U]: (props: T) => U[P] }; const enhancer4 = withH((props: Props) => ({ onChange: (props) => (e: any) => {}, onSubmit: (props) => (e: any) => {}, })); enhancer4.onChange(null);