     ///         }
     ///     }
     public struct PrefetchedRowsView: Equatable {
+        // OrderedDictionary so that breadth-first search gives a consistent result
+        // (we preserve the ordering of associations in the request)
         fileprivate var prefetches: OrderedDictionary<String, Prefetch> = [:]
         
         /// True if there is no prefetched associated rows.

    ///             print(bookBok) // [id:43, title:"Moby-Dick"]
    ///         }
    ///     }
    public internal(set) var prefetchedRows: PrefetchedRowsView = PrefetchedRowsView(prefetches: [:])
    
    // MARK: - Building rows
    

            let (name, adapter) = scopes[position]
            let adaptedRow = Row(base: row, adapter: adapter)
            if let prefetch = prefetchedRows.prefetches[name] {
                // Let the adapted row access its own prefetched rows.
                // Use case:
                //
                //      let request = A.including(required: A.b.including(all: B.c))
                //      let row = try Row.fetchOne(db, request)!
                //      row.scopes["b"]!.prefetchedRows["cs"]
                adaptedRow.prefetchedRows = Row.PrefetchedRowsView(prefetches: prefetch.prefetches)
            }
            return (name: name, row: adaptedRow)
