diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 016ad36..df73bfd 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -1102,7 +1102,7 @@ CREATE FUNCTION test(int, int) RETURNS int
   </sect1>
 
   <sect1 id="xfunc-notation">
-   <title>Positional and named notation</title>
+   <title>Calling Functions</title>
 
    <indexterm zone="xfunc-notation">
     <primary>notation</primary>
@@ -1110,23 +1110,24 @@ CREATE FUNCTION test(int, int) RETURNS int
    </indexterm>
 
    <para>
-    Functions with named parameters can be called by <firstterm>positional</firstterm> 
-    or <firstterm>named</firstterm> notation. <firstterm>Named</firstterm> notation makes it 
-    easier to recognize the signature of a function. This
-    applies especially to overloaded functions with larger argument lists. This is also closer to
-    some other SQL dialects which should make porting applications easier. The <firstterm>positional</firstterm>
-    notation calls the function with its argument values in the same order as defined in the function declaration.
-    Using <firstterm>named</firstterm> notation allows to
-    pass arguments by its name to a function, the positional order doesn't need to be preserved. Both 
-    <firstterm>named</firstterm> and <firstterm>positional</firstterm> notation can be mixed 
-    (<firstterm>mixed</firstterm> notation). However, <firstterm>positional</firstterm> notation is 
-    only allowed from the left to the right in the argument list.
-    As soon as a <firstterm>named</firstterm> argument appears in the list, <firstterm>named</firstterm> 
-    notation have to be used for all following arguments. Arguments with default values can be omitted and
-    don't have to be specified. The default values of such arguments will then be used instead. The following
-    example will illustrate the usage of all three kinds of notation.
-    
-
+    <productname>PostgreSQL</productname> supports calling functions with named
+    parameters using <firstterm>positional</firstterm> or
+    <firstterm>named</firstterm> notation.  <firstterm>Named</firstterm>
+    notation makes it easier to recognize the signature of a function. This
+    applies especially to overloaded functions with larger argument lists.  The
+    <firstterm>positional</firstterm> notation calls the function with its
+    argument values in the same order as they are defined in the function
+    declaration.  Using <firstterm>named</firstterm> notation allows passing
+    arguments to a function by name, in any order.  These
+    <firstterm>named</firstterm> and <firstterm>positional</firstterm>
+    notations can be mixed (<firstterm>mixed</firstterm> notation). However,
+    <firstterm>positional</firstterm> notation is only allowed from left to the
+    right in the argument list.  As soon as a <firstterm>named</firstterm>
+    argument appears in the list, <firstterm>named</firstterm> notation must be
+    used for all remaining arguments. Arguments with default values can be
+    omitted. The default values of such arguments will then be used instead.
+    The following examples will illustrate the usage of all three kinds of
+    notation.
 <programlisting>
 CREATE OR REPLACE FUNCTION concat_lower_or_upper(a IN text, b IN text, uppercase boolean DEFAULT false)
 RETURNS text
@@ -1139,12 +1140,14 @@ $$
 $$ 
 LANGUAGE SQL IMMUTABLE STRICT;
 </programlisting>
-   Function <function>concat_lower_or_upper</function> has two mandatory parameters: <literal>a</literal> and
-   <literal>b</literal>. Additionally there is one optional parameter <literal>uppercase</literal> which defaults to <literal>false</literal>.
-   This function can be called with <firstterm>positional</firstterm>, <firstterm>named</firstterm> or 
-   <firstterm>mixed</firstterm> notation . See also <xref
-     linkend="xfunc-sql-parameter-defaults"> for a more detailed explanation of calling
-     function with default values.
+    Function <function>concat_lower_or_upper</function> has two mandatory
+    parameters: <literal>a</literal> and <literal>b</literal>. Additionally
+    there is one optional parameter <literal>uppercase</literal> which defaults
+    to <literal>false</literal>.  This function can be called with
+    <firstterm>positional</firstterm>, <firstterm>named</firstterm> or
+    <firstterm>mixed</firstterm> notation. See also <xref
+    linkend="xfunc-sql-parameter-defaults"> for a more detailed explanation of
+    how to call a function with default values.
    </para>
    
    <sect2 id="xfunc-notations-positional">
@@ -1155,9 +1158,10 @@ LANGUAGE SQL IMMUTABLE STRICT;
     <secondary>positional notation</secondary>
    </indexterm>
 
-    <para>
-<literal>Positional</literal> notation is the traditional behavior how arguments are passed to functions in 
-<productname>PostgreSQL</productname>, for example:
+   <para>
+    <literal>Positional</literal> notation is the traditional mechanism for
+    passing arguments to functions in <productname>PostgreSQL</productname>,
+    for example:
 <screen>
 SELECT concat_lower_or_upper('Hello', 'World');
  concat_lower_or_upper
@@ -1165,10 +1169,11 @@ SELECT concat_lower_or_upper('Hello', 'World');
  hello world
 (1 row)
 </screen>
-This calls the function <function>concat_lower_or_upper</function> with both mandatory arguments
-<literal>a</literal> and <literal>b</literal> in <firstterm>positional</firstterm> notation
-and omits all default arguments. The argument <literal>uppercase</literal> will get its
-default value <literal>false</literal> assigned implicitely. Another example:
+    This calls the function <function>concat_lower_or_upper</function> with
+    both mandatory arguments <literal>a</literal> and <literal>b</literal> in
+    <firstterm>positional</firstterm> notation and omits all default arguments.
+    The argument <literal>uppercase</literal> will have its default value
+    <literal>false</literal> assigned implicitly.  Another example:
 <screen>
 SELECT concat_lower_or_upper('Hello', 'World', true);
  concat_lower_or_upper
@@ -1176,35 +1181,39 @@ SELECT concat_lower_or_upper('Hello', 'World', true);
  HELLO WORLD
 (1 row)
 </screen>
-Now the function <function>concat_lower_or_upper</function> is called with all arguments in 
-<firstterm>positional</firstterm> notation. In this case the argument <literal>uppercase</literal> 
-will have <literal>true</literal> assigned explicitely and concat <literal>a</literal> and <literal>b</literal>
-in uppercase.
-    </para>
+    Now the function <function>concat_lower_or_upper</function> is called with
+    all arguments in <firstterm>positional</firstterm> notation. In this case
+    <literal>true</literal> will be assigned to the argument
+    <literal>uppercase</literal> explicitly, and the function wil concatenate
+    <literal>a</literal> and <literal>b</literal> in uppercase.
+   </para>
   </sect2>
 
   <sect2 id="xfunc-notations-named">
-    <title>Using named notation</title>
+   <title>Using named notation</title>
 
    <indexterm>
     <primary>function</primary>
     <secondary>named notation</secondary>
    </indexterm>
 
-    <para>
-Using <firstterm>named</firstterm> notation this time, the mandatory arguments <literal>a</literal> and <literal>b</literal>
-are specified with the <literal>AS</literal> keyword.
+   <para>
+    Using <firstterm>named</firstterm> notation this time, the mandatory
+    arguments <literal>a</literal> and <literal>b</literal> are specified with
+    the <literal>AS</literal> keyword.
 <screen>
-SELECT concat_lower_or_upper('Hello' AS a, 'World' As b);
+SELECT concat_lower_or_upper('Hello' AS a, 'World' AS b);
  concat_lower_or_upper
 -----------------------
  hello world
 (1 row)
 </screen>
-Again, the default argument <literal>uppercase</literal> is omitted and set to <literal>false</literal> implicitly. Furthermore, 
-when using <literal>named</literal> notation the order of the arguments doesn't matter, for example:
+    Again, the default argument <literal>uppercase</literal> is omitted and set
+    to <literal>false</literal> implicitly.  The advantage of using
+    <literal>named</literal> notation is that the arguments may be specified in
+    any order, for example:
 <screen>
-SELECT concat_lower_or_upper('Hello' AS a, 'World' As b, true AS uppercase);
+SELECT concat_lower_or_upper('Hello' AS a, 'World' AS b, true AS uppercase);
  concat_lower_or_upper
 -----------------------
  HELLO WORLD
@@ -1216,26 +1225,28 @@ SELECT concat_lower_or_upper('Hello' AS a, true AS uppercase, 'World' AS b);
  HELLO WORLD
 (1 row)
 </screen>
-In the examples above, the <firstterm>named</firstterm> notation allows to specify the argument values out of
-their original order as they would occur in <firstterm>positional</firstterm> notation. It isn't possible to use
-<firstterm>named</firstterm> or <firstterm>mixed</firstterm> notation for variadic function. Variadic functions are based
-on positions of every parameter and positions has no sense in these notations.
+   </para>
+   <note>
+    <para>
+     Variadic functions cannot be called using <firstterm>named</firstterm>
+     or <firstterm>mixed</firstterm> notation.
     </para>
+   </note>
   </sect2>
  
   <sect2 id="xfunc-notations-mixed">
-    <title>Using mixed notation</title>
+   <title>Using mixed notation</title>
 
    <indexterm>
     <primary>function</primary>
     <secondary>mixed notation</secondary>
    </indexterm>
 
-    <para>
-The <literal>mixed</literal> notation combines <firstterm>positional</firstterm> and <firstterm>named</firstterm> 
-notation. However, as already mentioned, positional argument have to occur from left to right, named
-arguments cannot precede positional arguments. This means that in <firstterm>mixed</firstterm> notation named
-arguments cannot be defined before positional arguments.
+   <para>
+    The <literal>mixed</literal> notation combines
+    <firstterm>positional</firstterm> and <firstterm>named</firstterm>
+    notation. However, as already mentioned, named arguments cannot precede
+    positional arguments.
 <screen>
 SELECT concat_lower_or_upper('Hello', 'World' AS b, true AS uppercase);
  concat_lower_or_upper
@@ -1243,9 +1254,11 @@ SELECT concat_lower_or_upper('Hello', 'World' AS b, true AS uppercase);
  HELLO WORLD
 (1 row)
 </screen>
-The first query above is correct, since the argument <literal>a</literal> is defined in
-<firstterm>positional</firstterm> notation before any named arguments. However, the following example
-isn't allowed to work, since <literal>a</literal> precedes the named argument <literal>b</literal>.
+    The above query is legal, since the argument <literal>a</literal> is
+    specified using <firstterm>positional</firstterm> notation, before any
+    named arguments. However, the following example will fail, since
+    <literal>'Hello'</literal> is specified using positional notation after the
+    named argument <literal>b</literal>.
 <screen>
 SELECT concat_lower_or_upper('World' AS b, 'Hello', true AS uppercase);
 ERROR:  expected named argument
