diff --git a/doc/src/sgml/xoper.sgml b/doc/src/sgml/xoper.sgml
index 80e6793397ea684e1708fd4fbd266d89167e91e4..39c49d403615557e4dcc8d8c8bc6236dd73cedb6 100644
--- a/doc/src/sgml/xoper.sgml
+++ b/doc/src/sgml/xoper.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.27 2003/10/21 22:51:14 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.28 2003/10/22 03:50:27 tgl Exp $
 -->
 
  <sect1 id="xoper">
@@ -41,7 +41,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.27 2003/10/21 22:51:14 tgl E
 CREATE FUNCTION complex_add(complex, complex)
     RETURNS complex
     AS '<replaceable>filename</replaceable>', 'complex_add'
-    LANGUAGE C;
+    LANGUAGE C IMMUTABLE STRICT;
 
 CREATE OPERATOR + (
     leftarg = complex,
@@ -113,7 +113,7 @@ SELECT (a + b) AS c FROM test_complex;
     </para>
 
     <para>
-     The left operand type of a commuted operator is the same as the
+     The left operand type of a commutable operator is the same as the
      right operand type of its commutator, and vice versa.  So the name of
      the commutator operator is all that <ProductName>PostgreSQL</ProductName>
      needs to be given to look up the commutator, and that's all that needs to
@@ -132,7 +132,7 @@ SELECT (a + b) AS c FROM test_complex;
      <literal>tab2.y = tab1.x</>, because the indexscan machinery expects
      to see the indexed column on the left of the operator it is given.
      <ProductName>PostgreSQL</ProductName> will <emphasis>not</> simply
-     assume that this is a valid transformation --- the definer of the
+     assume that this is a valid transformation --- the creator of the
      <literal>=</> operator must specify that it is valid, by marking the
      operator with commutator information.
     </para>