Downgrade some ordered type checker sets to unordered
diff --git a/syntax/trivial.rs b/syntax/trivial.rs
index d74bd66..070a366 100644
--- a/syntax/trivial.rs
+++ b/syntax/trivial.rs
@@ -1,4 +1,4 @@
-use crate::syntax::set::OrderedSet as Set;
+use crate::syntax::set::{OrderedSet as Set, UnorderedSet};
 use crate::syntax::{Api, Enum, ExternFn, Pair, RustName, Struct, Type};
 use proc_macro2::Ident;
 use std::collections::BTreeMap as Map;
@@ -19,7 +19,7 @@
     all: &Set<&'a Type>,
     structs: &Map<&'a Ident, &'a Struct>,
     enums: &Map<&'a Ident, &'a Enum>,
-    cxx: &Set<&'a Ident>,
+    cxx: &UnorderedSet<&'a Ident>,
 ) -> Map<&'a Ident, Vec<TrivialReason<'a>>> {
     let mut required_trivial = Map::new();
 
diff --git a/syntax/types.rs b/syntax/types.rs
index 4c1fef0..87a2992 100644
--- a/syntax/types.rs
+++ b/syntax/types.rs
@@ -14,8 +14,8 @@
     pub all: Set<&'a Type>,
     pub structs: Map<&'a Ident, &'a Struct>,
     pub enums: Map<&'a Ident, &'a Enum>,
-    pub cxx: Set<&'a Ident>,
-    pub rust: Set<&'a Ident>,
+    pub cxx: UnorderedSet<&'a Ident>,
+    pub rust: UnorderedSet<&'a Ident>,
     pub aliases: Map<&'a Ident, &'a TypeAlias>,
     pub untrusted: Map<&'a Ident, &'a ExternType>,
     pub required_trivial: Map<&'a Ident, Vec<TrivialReason<'a>>>,
@@ -30,8 +30,8 @@
         let mut all = Set::new();
         let mut structs = Map::new();
         let mut enums = Map::new();
-        let mut cxx = Set::new();
-        let mut rust = Set::new();
+        let mut cxx = UnorderedSet::new();
+        let mut rust = UnorderedSet::new();
         let mut aliases = Map::new();
         let mut untrusted = Map::new();
         let mut explicit_impls = Map::new();