not interchangeable => not compatible
I think this way it makes much more sense...
diff --git a/xml/readme.tex b/xml/readme.tex
index f39558a..2ced81f 100644
--- a/xml/readme.tex
+++ b/xml/readme.tex
@@ -540,7 +540,7 @@
a length that is computed as a combination of other command
parameter values, and possibly current GL state as well.
\item \attr{class} - an arbitrary string, defining type of object name (object handle).
- Handles with different types are not interchangeable. So handle created as
+ Handles with different types are not compatible. So handle created as
\attr{class=buffer} can not be passed to \attr{class=shader}.
\end{itemize}
diff --git a/xml/registry.rnc b/xml/registry.rnc
index e92876a..fba9773 100644
--- a/xml/registry.rnc
+++ b/xml/registry.rnc
@@ -123,7 +123,7 @@
# <command> defines a single command
# <proto> is the C function prototype, including the return type
# <param> are function parameters, in order
-# class - type of object name (object handle). Handles with different types are not interchangeable. So handle created as [class=buffer] can not be passed to [class=shader]
+# class - type of object name (object handle). Handles with different types are not compatible. So handle created as [class=buffer] can not be passed to [class=shader]
# <ptype> is a <type> name, if present
# <name> is the function / parameter name
# The textual contents of <proto> and <param> should be legal C