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