N+1 is at best two queries, right? I always interpreted it as:
query 0 = list
query 1_0 = getItem(0)
...
guest 1_n = getItem(n)
optimized to: query 0 = list
query 1 = getItems(0..n)