To measure what laziness buys, BookNest repeats its six books into a 600-row catalog (bigCatalog, unique IDs) and counts the BookRows composed by the time the first LaunchedEffect runs: once in EagerCatalog, First Screen's forEach inside a scrolling Column, and once in the LazyCatalog above. Each was launched on its own:
D/BookNestList: Column: 600 rows composed D/BookNestList: LazyColumn: 8 rows composed
The Column composed and kept all 600 rows before its first frame; the LazyColumn composed the eight that fit. contentType limits slot reuse to items of the same type. Keep items cheap (no sorting inside items { }), give them stable keys and data (Stability and Skipping), and hoist rememberLazyListState() when you need the scroll position.