Generalize OrderedSet::contains method
diff --git a/syntax/set.rs b/syntax/set.rs
index b553169..891df60 100644
--- a/syntax/set.rs
+++ b/syntax/set.rs
@@ -1,3 +1,4 @@
+use std::borrow::Borrow;
 use std::collections::HashSet;
 use std::fmt::{self, Debug};
 use std::hash::Hash;
@@ -27,7 +28,11 @@
         new
     }
 
-    pub fn contains(&self, value: &T) -> bool {
+    pub fn contains<Q>(&self, value: &Q) -> bool
+    where
+        &'a T: Borrow<Q>,
+        Q: ?Sized + Hash + Eq,
+    {
         self.set.contains(value)
     }
 }