type DeepUpdate<T = any> = T extends E[] ? Update<E>[] : { [P in keyof T]?: Update<T[P]>; }
packages / state / src / types.ts