     public subscript<Record: FetchableRecord>(_ scope: String) -> Record {
         guard let scopedRow = scopesTree[scope] else {
             // Programmer error
-            fatalError("no such scope: \(scope)")
+            fatalError("missing scope `\(scope)` (row: \(self))")
         }
         return Record(row: scopedRow)
     }

    {
        guard let rows = prefetches[key] else {
            // Programmer error
            fatalError("no such prefetched rows: \(key)")
        }
        var collection = Collection()
        collection.reserveCapacity(rows.count)

    public subscript<Record: FetchableRecord & Hashable>(_ key: String) -> Set<Record> {
        guard let rows = prefetches[key] else {
            // Programmer error
            fatalError("missing key for prefetched rows `\(key)` (row: \(self))")
        }
        var set = Set<Record>(minimumCapacity: rows.count)
        for row in rows {
