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