That sounds like the way to go. Compose leverages positional memoization which means if identifies composables based on the hash of the call but also its position in the sources. In lazy lists each item is traditionally called in the same line and that can create non unique keys. Providing an explicit key can likely help to maintain unique identities and probably help on that scrolling issue
This causes the issue , swapping without item keys keeps the position.
But thats not really an option as swapping items without keys dosent really work :/