···1010struct NameResolver {
1111 let namespace: [Name]
12121313- /// Resolve an unqualified name against a dictionary of known declarations.
1313+ /// Resolve an unqualified name against a set of known declarations.
1414 /// Tries the current namespace first, then each enclosing namespace, and finally the top level.
1515- func resolve<V>(name: Name, in decls: OrderedDictionary<QName, V>) -> (QName, V)? {
1515+ func resolve(name: Name, in decls: OrderedSet<QName>) -> QName? {
1616 for i in stride(from: namespace.count, through: 0, by: -1) {
1717 let candidate = QName(names: Array(namespace.prefix(i)) + [name])
1818- if let value = decls[candidate] {
1919- return (candidate, value)
1818+ if decls.contains(candidate) {
1919+ return candidate
2020 }
2121 }
2222 return nil