Return NotImplemented
diff --git a/Lib/fontTools/ttLib/tables/otBase.py b/Lib/fontTools/ttLib/tables/otBase.py
index 3435986..77585f7 100644
--- a/Lib/fontTools/ttLib/tables/otBase.py
+++ b/Lib/fontTools/ttLib/tables/otBase.py
@@ -290,7 +290,7 @@
 		return not self.__eq__(other)
 	def __eq__(self, other):
 		if type(self) != type(other):
-			raise TypeError("unordered types %s() < %s()", type(self), type(other))
+			return NotImplemented
 		return self.items == other.items
 	
 	def _doneWriting(self, internedTables=None):
@@ -679,7 +679,7 @@
 		return not self.__eq__(other)
 	def __eq__(self, other):
 		if type(self) != type(other):
-			raise TypeError("unordered types %s() < %s()", type(self), type(other))
+			return NotImplemented
 
 		self.ensureDecompiled()
 		other.ensureDecompiled()
@@ -848,5 +848,5 @@
 		return not self.__eq__(other)
 	def __eq__(self, other):
 		if type(self) != type(other):
-			raise TypeError("unordered types %s() < %s()", type(self), type(other))
+			return NotImplemented
 		return self.__dict__ == other.__dict__