Suppose I have the following:

```
type TState = {
    open: boolean;
    text: string;
}

let state = {
    open: false,
    text: ''
}

type TSetState = {
    payload: TState;
}
const setState = ({ payload }: TSetState) => {
    state = {
        ...state,
        ...payload
    }
}

const handleChange = (text: string) => {
    setState({ payload: { text } })
//             ^^^^^^^
//             error here
}

```

This throws the error,

```
Property 'open' is missing in type '{ text: string; }' but required in type 'TState'

```

Obviously, if I do `setState({ payload: { text, open: false } })`, this fixes the issue, but how can I type this, so that I can only provide one property? I've tried doing `keyOf TSetState`, but that didn't work.