← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/union-sequence-types into lp:zorba

 

Markos Zaharioudakis has proposed merging lp:~zorba-coders/zorba/union-sequence-types into lp:zorba.

Commit message:
1. Fixed bug #1089707: Extended sequence types to include unions, as specified by XQuery v3.0
2. Fixed bug #1073994: Typeswitch expression extended to allow union of types in each case clause, as specified by XQuery v3.0
3. NaN items are considered equal to each other during grouping


Requested reviews:
  Markos Zaharioudakis (markos-za)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/union-sequence-types/+merge/143999

1. Fixed bug #1089707: Extended sequence types to include unions, as specified by XQuery v3.0
2. Fixed bug #1073994: Typeswitch expression extended to allow union of types in each case clause, as specified by XQuery v3.0
3. NaN items are considered equal to each other during grouping
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/union-sequence-types/+merge/143999
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'ChangeLog'
--- ChangeLog	2013-01-14 09:46:44 +0000
+++ ChangeLog	2013-01-19 20:51:21 +0000
@@ -1,5 +1,16 @@
 Zorba - The XQuery Processor
 
+version 2.8
+
+New Features:
+  * Typeswitch expression extended to allow union of types in each case clause,
+    as specified by XQuery v3.0
+
+Optimizations:
+
+Bug Fixes/Other Changes:
+  * NaN items are considered equal to each other during grouping
+
 
 version 2.8
 

=== modified file 'include/zorba/pregenerated/diagnostic_list.h'
--- include/zorba/pregenerated/diagnostic_list.h	2013-01-11 17:37:08 +0000
+++ include/zorba/pregenerated/diagnostic_list.h	2013-01-19 20:51:21 +0000
@@ -144,6 +144,8 @@
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0093;
 
+extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0094;
+
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0098;
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0099;

=== modified file 'modules/w3c/pregenerated/xqt-errors.xq'
--- modules/w3c/pregenerated/xqt-errors.xq	2012-12-21 22:05:39 +0000
+++ modules/w3c/pregenerated/xqt-errors.xq	2013-01-19 20:51:21 +0000
@@ -607,6 +607,17 @@
 
 (:~
  :
+ : In the group by clause of a FLWOR expression, it is a static error if the
+ : name of a grouping variable is not equal (by the eq operator on expanded
+ : QNames) to the name of a variable that is bound by a for or let clause
+ : that precedes the group by clause.
+ : 
+ : @see http://www.w3.org/2005/xqt-errors
+:)
+declare variable $err:XQST0094 as xs:QName := fn:QName($err:NS, "err:XQST0094");
+
+(:~
+ :
  : It is a static error if, for any named or unnamed decimal format, the
  : properties representing characters used in a picture string do not each
  : have distinct values. These properties are decimal-separator-sign,

=== modified file 'src/compiler/expression/expr_type.cpp'
--- src/compiler/expression/expr_type.cpp	2012-12-28 10:24:59 +0000
+++ src/compiler/expression/expr_type.cpp	2013-01-19 20:51:21 +0000
@@ -389,7 +389,7 @@
       }
       else
       {
-        assert(targetType->isAtomic() || targetType->isUnion());
+        assert(targetType->isAtomicAny() || targetType->isUnion());
 
         TypeConstants::quantifier_t q = TypeOps::intersect_quant(argQuant, targetQuant);
 

=== modified file 'src/compiler/parser/xquery_parser.cpp'
--- src/compiler/parser/xquery_parser.cpp	2013-01-09 07:27:29 +0000
+++ src/compiler/parser/xquery_parser.cpp	2013-01-19 20:51:21 +0000
@@ -1,8 +1,10 @@
-/* A Bison parser, made by GNU Bison 2.5.  */
+
+/* A Bison parser, made by GNU Bison 2.4.1.  */
 
 /* Skeleton implementation for Bison LALR(1) parsers in C++
    
-      Copyright (C) 2002-2011 Free Software Foundation, Inc.
+      Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
+   Foundation, Inc.
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -35,8 +37,8 @@
 
 /* First part of user declarations.  */
 
-/* Line 293 of lalr1.cc  */
-#line 87 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 311 of lalr1.cc  */
+#line 87 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 
 
 #include "common/common.h"
@@ -72,16 +74,16 @@
 
 
 
-/* Line 293 of lalr1.cc  */
-#line 77 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 311 of lalr1.cc  */
+#line 79 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 
 
 #include "xquery_parser.hpp"
 
 /* User implementation prologue.  */
 
-/* Line 299 of lalr1.cc  */
-#line 910 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 317 of lalr1.cc  */
+#line 911 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 
 // HACK to trigger rchandle release: rchandles are freed when refcount == 0
 // (not <= 0); but Bison never increments the refcount, so we do it manually...
@@ -92,8 +94,8 @@
     }
 }
 
-/* Line 299 of lalr1.cc  */
-#line 1035 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 317 of lalr1.cc  */
+#line 1036 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 
 #include "compiler/parser/xquery_scanner.h"
 
@@ -102,11 +104,11 @@
 
 
 
-/* Line 299 of lalr1.cc  */
-#line 107 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 317 of lalr1.cc  */
+#line 109 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 
 #ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
+# if YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -117,26 +119,6 @@
 # endif
 #endif
 
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-   If N is 0, then set CURRENT to the empty location which ends
-   the previous symbol: RHS[0] (always defined).  */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)                               \
- do                                                                    \
-   if (N)                                                              \
-     {                                                                 \
-       (Current).begin = YYRHSLOC (Rhs, 1).begin;                      \
-       (Current).end   = YYRHSLOC (Rhs, N).end;                        \
-     }                                                                 \
-   else                                                                \
-     {                                                                 \
-       (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;        \
-     }                                                                 \
- while (false)
-#endif
-
 /* Suppress unused-variable warnings by "using" E.  */
 #define YYUSE(e) ((void) (e))
 
@@ -186,10 +168,14 @@
 #define YYRECOVERING()  (!!yyerrstatus_)
 
 
+/* Line 380 of lalr1.cc  */
+#line 1 "[Bison:b4_percent_define_default]"
+
 namespace zorba {
 
-/* Line 382 of lalr1.cc  */
-#line 193 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 380 of lalr1.cc  */
+#line 178 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#if YYERROR_VERBOSE
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -228,6 +214,7 @@
     return yystr;
   }
 
+#endif
 
   /// Build a parser object.
   xquery_parser::xquery_parser (xquery_driver& driver_yyarg)
@@ -290,2531 +277,2540 @@
         case 110: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 908 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 909 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 298 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 285 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 124: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 907 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 908 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 307 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 294 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 149: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 906 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 907 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 316 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 303 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 338: /* "VersionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 325 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 312 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 339: /* "MainModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 334 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 321 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 340: /* "LibraryModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 343 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 330 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 341: /* "ModuleDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 352 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 339 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 342: /* "SIND_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 361 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 348 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 343: /* "SIND_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 370 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 357 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 344: /* "Setter" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 379 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 366 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 345: /* "BoundarySpaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 388 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 375 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 346: /* "DefaultCollationDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 397 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 384 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 347: /* "BaseURIDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 406 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 393 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 348: /* "ConstructionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 415 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 402 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 349: /* "OrderingModeDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 424 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 411 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 350: /* "EmptyOrderDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 433 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 420 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 351: /* "CopyNamespacesDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 442 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 429 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 352: /* "Import" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 451 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 438 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 353: /* "SchemaImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 460 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 447 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 354: /* "URILiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 469 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 456 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 355: /* "SchemaPrefix" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 478 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 465 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 356: /* "ModuleImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 487 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 474 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 357: /* "NamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 496 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 483 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 358: /* "DefaultNamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 505 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 492 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 359: /* "VFO_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 514 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 501 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 360: /* "VFO_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 523 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 510 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 361: /* "DecimalFormatDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 532 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 519 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 362: /* "DecimalFormatParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 541 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 528 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 363: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 550 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 537 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 365: /* "OptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 559 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 546 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 366: /* "FTOptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 568 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 555 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 367: /* "CtxItemDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 577 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 564 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 368: /* "CtxItemDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 586 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 573 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 369: /* "CtxItemDecl3" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 595 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 582 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 370: /* "CtxItemDecl4" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 604 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 591 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 371: /* "VarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 613 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 600 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 372: /* "VarNameAndType" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 622 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 609 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 373: /* "AnnotationList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 631 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 618 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 374: /* "Annotation" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 640 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 627 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 375: /* "AnnotationLiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 649 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 636 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 376: /* "FunctionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 658 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 645 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 377: /* "FunctionDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 667 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 654 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 378: /* "FunctionDeclSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 676 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 663 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 379: /* "FunctionDeclUpdating" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 685 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 672 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 380: /* "FunctionSig" */
 
 /* Line 480 of lalr1.cc  */
-#line 934 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 694 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 681 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 381: /* "ParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 703 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 690 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 382: /* "Param" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 712 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 699 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 383: /* "CollectionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 721 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 708 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 385: /* "IndexDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 730 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 717 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 386: /* "IndexKeyList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 739 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 726 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 387: /* "IndexKeySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 748 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 735 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 388: /* "IntegrityConstraintDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 757 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 744 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 389: /* "QueryBody" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 766 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 753 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 390: /* "StatementsAndOptionalExprTop" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 775 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 762 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 391: /* "StatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 784 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 771 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 392: /* "StatementsAndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 793 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 780 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 393: /* "Statements" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 789 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 394: /* "Statement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 798 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 395: /* "BlockStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 820 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 807 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 396: /* "BlockExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 829 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 816 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 397: /* "EnclosedStatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 838 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 825 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 398: /* "VarDeclStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 847 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 834 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 401: /* "AssignStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 856 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 843 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 402: /* "ApplyStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 865 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 852 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 403: /* "ExitStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 874 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 861 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 404: /* "WhileStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 883 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 870 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 405: /* "FlowCtlStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 892 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 879 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 406: /* "FLWORStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 901 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 888 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 407: /* "ReturnStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 910 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 897 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 408: /* "IfStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 919 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 906 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 409: /* "TryStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 915 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 410: /* "CatchListStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 924 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 411: /* "CatchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 946 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 933 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 412: /* "Expr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 955 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 942 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 413: /* "ExprSingle" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 964 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 951 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 414: /* "ExprSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 973 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 960 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 415: /* "FLWORExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 982 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 969 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 416: /* "ReturnExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 991 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 978 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 419: /* "FLWORWinCond" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1000 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 987 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 420: /* "WindowClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1009 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 996 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 421: /* "CountClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1018 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1005 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 422: /* "ForLetWinClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1027 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1014 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 424: /* "FLWORClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1036 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1023 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 425: /* "ForClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1045 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1032 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 426: /* "VarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1054 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1041 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 427: /* "VarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1063 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1050 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 428: /* "PositionalVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1072 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1059 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 429: /* "FTScoreVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1081 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1068 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 430: /* "LetClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1090 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1077 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 431: /* "VarGetsDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1099 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1086 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 432: /* "VarGetsDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1108 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1095 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 433: /* "WindowVarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1117 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1104 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 434: /* "WindowVars" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1126 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1113 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 435: /* "WindowVars3" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1135 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1122 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 436: /* "WindowVars2" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1144 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1131 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 437: /* "WhereClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1153 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1140 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 438: /* "GroupByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1162 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1149 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 439: /* "GroupSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1171 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1158 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 440: /* "GroupSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1180 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1167 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 441: /* "GroupCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1189 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1176 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 442: /* "OrderByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1198 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1185 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 443: /* "OrderSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1207 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1194 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 444: /* "OrderSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1216 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1203 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 445: /* "OrderModifier" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1225 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1212 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 446: /* "OrderDirSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1234 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1221 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 447: /* "OrderEmptySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1243 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1230 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 448: /* "OrderCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1252 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1239 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 449: /* "QuantifiedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1261 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1248 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 450: /* "QVarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1270 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1257 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 451: /* "QVarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1279 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1266 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 452: /* "SwitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1288 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1275 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 453: /* "SwitchCaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1297 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1284 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 454: /* "SwitchCaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1306 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1293 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 455: /* "SwitchCaseOperandList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1315 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1302 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 456: /* "SwitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1324 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1311 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 459: /* "TypeswitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1333 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1320 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 460: /* "TypeswitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1342 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1329 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 461: /* "CaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1351 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1338 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 462: /* "CaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1360 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 465: /* "IfExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1369 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 466: /* "OrExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1378 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 467: /* "AndExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1387 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 468: /* "ComparisonExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1396 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 470: /* "FTContainsExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1405 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 471: /* "StringConcatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1414 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 472: /* "opt_FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1423 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 473: /* "RangeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1432 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 474: /* "AdditiveExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1441 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 475: /* "MultiplicativeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1450 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 476: /* "UnionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1459 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 477: /* "IntersectExceptExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1468 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 478: /* "InstanceofExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1477 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 479: /* "TreatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1486 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 480: /* "CastableExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1495 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 481: /* "CastExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1504 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 482: /* "SingleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1513 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 483: /* "UnaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1522 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 484: /* "SignList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1531 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 485: /* "ValueExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1540 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 486: /* "SimpleMapExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1549 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 487: /* "ValueComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1558 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 488: /* "NodeComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1567 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 489: /* "ValidateExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1576 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 490: /* "ExtensionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1585 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 491: /* "Pragma_list" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1594 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 492: /* "Pragma" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1603 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 493: /* "PathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1612 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 495: /* "RelativePathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1621 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 496: /* "StepExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1630 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 497: /* "AxisStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1639 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 498: /* "ForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1648 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 499: /* "ForwardAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1657 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 500: /* "AbbrevForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1666 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 501: /* "ReverseStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1675 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 502: /* "ReverseAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1684 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 503: /* "NodeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1693 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 504: /* "NameTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1702 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 505: /* "Wildcard" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1711 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 506: /* "FilterExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1720 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 507: /* "PredicateList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1729 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 508: /* "Predicate" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1738 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 509: /* "PrimaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1747 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 510: /* "Literal" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1756 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 511: /* "NumericLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1765 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 512: /* "VarRef" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1774 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 513: /* "ParenthesizedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1783 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 514: /* "ContextItemExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1792 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 515: /* "OrderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1801 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 516: /* "UnorderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1810 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 517: /* "FunctionCall" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1819 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 518: /* "ArgList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1828 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 519: /* "Constructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1837 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 520: /* "DirectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1846 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 521: /* "DirElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1855 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 522: /* "DirElemContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1864 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 523: /* "DirAttributeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1873 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 524: /* "DirAttr" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1882 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 526: /* "DirAttributeValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1891 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 527: /* "opt_QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1900 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 528: /* "QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1909 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 529: /* "opt_AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1918 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 530: /* "AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1927 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 531: /* "QuoteAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1936 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 532: /* "AposAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1945 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 533: /* "DirElemContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1954 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 534: /* "CommonContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1963 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 535: /* "DirCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1972 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 536: /* "DirPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1981 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 537: /* "CDataSection" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1990 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 538: /* "ComputedConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1999 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 539: /* "CompDocConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2008 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 540: /* "CompElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2017 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 541: /* "CompAttrConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2026 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 542: /* "CompTextConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2035 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 543: /* "CompCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2044 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 544: /* "CompPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2053 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 545: /* "TypeDeclaration" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2062 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 546: /* "SequenceType" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2071 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 547: /* "OccurrenceIndicator" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2080 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 548: /* "ItemType" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2089 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 549: /* "TypeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2098 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 550: /* "AtomicType" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2107 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 551: /* "SimpleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2116 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 552: /* "KindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2125 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 553: /* "AnyKindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2134 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 554: /* "DocumentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2143 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 555: /* "TextTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2152 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 556: /* "CommentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2161 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 557: /* "PITest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2170 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 558: /* "AttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2179 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 559: /* "SchemaAttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2188 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 560: /* "ElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2197 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 561: /* "SchemaElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2206 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 562: /* "TypeName" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2215 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 563: /* "TypeName_WITH_HOOK" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2224 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 564: /* "StringLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2233 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 569: /* "AnyFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2242 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 570: /* "TypedFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2251 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 573: /* "InsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2260 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 574: /* "DeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2269 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 575: /* "ReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2278 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 576: /* "RenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2287 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 577: /* "TransformExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2296 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 578: /* "VarNameList" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2305 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 579: /* "VarNameDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2314 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 580: /* "TryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2323 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 581: /* "CatchListExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2332 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 582: /* "CatchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2341 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 583: /* "BracedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2350 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 584: /* "NameTestList" */
-
-/* Line 480 of lalr1.cc  */
-#line 934 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1347 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 465: /* "SequenceTypeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1356 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 466: /* "IfExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1365 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 467: /* "OrExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1374 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 468: /* "AndExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1383 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 469: /* "ComparisonExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1392 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 471: /* "FTContainsExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1401 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 472: /* "StringConcatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1410 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 473: /* "opt_FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1419 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 474: /* "RangeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1428 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 475: /* "AdditiveExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1437 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 476: /* "MultiplicativeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1446 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 477: /* "UnionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1455 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 478: /* "IntersectExceptExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1464 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 479: /* "InstanceofExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1473 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 480: /* "TreatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1482 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 481: /* "CastableExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1491 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 482: /* "CastExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1500 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 483: /* "SingleType" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1509 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 484: /* "UnaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1518 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 485: /* "SignList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1527 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 486: /* "ValueExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1536 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 487: /* "SimpleMapExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1545 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 488: /* "ValueComp" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1554 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 489: /* "NodeComp" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1563 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 490: /* "ValidateExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1572 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 491: /* "ExtensionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1581 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 492: /* "Pragma_list" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1590 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 493: /* "Pragma" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1599 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 494: /* "PathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1608 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 496: /* "RelativePathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1617 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 497: /* "StepExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1626 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 498: /* "AxisStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1635 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 499: /* "ForwardStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1644 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 500: /* "ForwardAxis" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1653 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 501: /* "AbbrevForwardStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1662 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 502: /* "ReverseStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1671 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 503: /* "ReverseAxis" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1680 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 504: /* "NodeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1689 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 505: /* "NameTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1698 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 506: /* "Wildcard" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1707 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 507: /* "FilterExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1716 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 508: /* "PredicateList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1725 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 509: /* "Predicate" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1734 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 510: /* "PrimaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1743 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 511: /* "Literal" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1752 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 512: /* "NumericLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1761 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 513: /* "VarRef" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1770 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 514: /* "ParenthesizedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1779 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 515: /* "ContextItemExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1788 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 516: /* "OrderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1797 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 517: /* "UnorderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1806 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 518: /* "FunctionCall" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1815 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 519: /* "ArgList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1824 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 520: /* "Constructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1833 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 521: /* "DirectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1842 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 522: /* "DirElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1851 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 523: /* "DirElemContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1860 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 524: /* "DirAttributeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1869 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 525: /* "DirAttr" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1878 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 527: /* "DirAttributeValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1887 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 528: /* "opt_QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1896 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 529: /* "QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1905 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 530: /* "opt_AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1914 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 531: /* "AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1923 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 532: /* "QuoteAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1932 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 533: /* "AposAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1941 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 534: /* "DirElemContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1950 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 535: /* "CommonContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1959 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 536: /* "DirCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1968 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 537: /* "DirPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1977 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 538: /* "CDataSection" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1986 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 539: /* "ComputedConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1995 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 540: /* "CompDocConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2004 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 541: /* "CompElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2013 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 542: /* "CompAttrConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2022 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 543: /* "CompTextConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2031 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 544: /* "CompCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2040 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 545: /* "CompPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2049 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 546: /* "TypeDeclaration" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2058 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 547: /* "SequenceType" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2067 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 548: /* "OccurrenceIndicator" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2076 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 549: /* "ItemType" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2085 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 550: /* "TypeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2094 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 551: /* "GeneralizedAtomicType" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2103 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 552: /* "SimpleType" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2112 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 553: /* "KindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2121 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 554: /* "AnyKindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2130 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 555: /* "DocumentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2139 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 556: /* "TextTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2148 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 557: /* "CommentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2157 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 558: /* "PITest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2166 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 559: /* "AttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2175 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 560: /* "SchemaAttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2184 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 561: /* "ElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2193 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 562: /* "SchemaElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2202 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 563: /* "TypeName" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2211 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 564: /* "TypeName_WITH_HOOK" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2220 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 565: /* "StringLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2229 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 570: /* "AnyFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2238 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 571: /* "TypedFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2247 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 574: /* "InsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2256 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 575: /* "DeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2265 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 576: /* "ReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2274 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 577: /* "RenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2283 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 578: /* "TransformExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2292 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 579: /* "VarNameList" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2301 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 580: /* "VarNameDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2310 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 581: /* "TryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2319 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 582: /* "CatchListExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2328 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 583: /* "CatchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2337 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 584: /* "BracedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2346 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 585: /* "NameTestList" */
+
+/* Line 480 of lalr1.cc  */
+#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2359 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 585: /* "FTSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2368 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 588: /* "FTOr" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2377 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 589: /* "FTAnd" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2386 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 590: /* "FTMildNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2395 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 591: /* "FTUnaryNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2404 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 592: /* "FTPrimaryWithOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2413 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 593: /* "opt_FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2422 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 595: /* "FTWeight" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2431 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 596: /* "FTPrimary" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2440 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 597: /* "opt_FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2449 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 598: /* "FTExtensionSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2458 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 600: /* "FTWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2467 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 601: /* "FTWordsValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2476 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 603: /* "FTAnyallOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2485 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 606: /* "FTPosFilter" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2494 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 607: /* "FTOrder" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2503 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 608: /* "FTWindow" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2512 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 609: /* "FTDistance" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2521 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 610: /* "FTUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2530 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 611: /* "FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2539 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 612: /* "FTMatchOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2548 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 613: /* "FTCaseOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2557 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 614: /* "FTDiacriticsOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2566 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 615: /* "FTExtensionOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2575 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 616: /* "FTStemOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2584 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 617: /* "FTThesaurusOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2593 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 621: /* "FTThesaurusID" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2602 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 624: /* "FTStopWordOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2611 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 625: /* "FTStopWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2620 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 629: /* "FTStopWordsInclExcl" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2629 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 630: /* "FTLanguageOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2638 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 631: /* "FTWildCardOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2647 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 632: /* "FTContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2656 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 633: /* "FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2665 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 634: /* "FTRange" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2674 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 635: /* "FTScope" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2683 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 636: /* "FTBigUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2692 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 637: /* "FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2701 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 638: /* "JSONArrayConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2710 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 639: /* "JSONSimpleObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2719 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 640: /* "JSONAccumulatorObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2728 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 641: /* "JSONObjectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2737 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 642: /* "JSONPairList" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2746 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 643: /* "JSONInsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2755 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 644: /* "JSONAppendExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2764 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 645: /* "JSONDeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2773 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 646: /* "JSONRenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2782 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 647: /* "JSONReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2791 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 654: /* "QNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2800 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 655: /* "FUNCTION_NAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2809 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 656: /* "EQNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2818 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2355 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 586: /* "FTSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2364 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 589: /* "FTOr" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2373 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 590: /* "FTAnd" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2382 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 591: /* "FTMildNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2391 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 592: /* "FTUnaryNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2400 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 593: /* "FTPrimaryWithOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2409 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 594: /* "opt_FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2418 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 596: /* "FTWeight" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2427 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 597: /* "FTPrimary" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2436 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 598: /* "opt_FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2445 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 599: /* "FTExtensionSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2454 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 601: /* "FTWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2463 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 602: /* "FTWordsValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2472 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 604: /* "FTAnyallOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2481 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 607: /* "FTPosFilter" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2490 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 608: /* "FTOrder" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2499 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 609: /* "FTWindow" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2508 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 610: /* "FTDistance" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2517 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 611: /* "FTUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2526 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 612: /* "FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2535 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 613: /* "FTMatchOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2544 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 614: /* "FTCaseOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2553 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 615: /* "FTDiacriticsOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2562 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 616: /* "FTExtensionOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2571 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 617: /* "FTStemOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2580 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 618: /* "FTThesaurusOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2589 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 622: /* "FTThesaurusID" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2598 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 625: /* "FTStopWordOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2607 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 626: /* "FTStopWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2616 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 630: /* "FTStopWordsInclExcl" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2625 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 631: /* "FTLanguageOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2634 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 632: /* "FTWildCardOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2643 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 633: /* "FTContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2652 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 634: /* "FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2661 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 635: /* "FTRange" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2670 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 636: /* "FTScope" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2679 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 637: /* "FTBigUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2688 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 638: /* "FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2697 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 639: /* "JSONArrayConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2706 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 640: /* "JSONSimpleObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2715 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 641: /* "JSONAccumulatorObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2724 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 642: /* "JSONObjectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2733 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 643: /* "JSONPairList" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2742 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 644: /* "JSONInsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2751 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 645: /* "JSONAppendExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2760 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 646: /* "JSONDeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2769 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 647: /* "JSONRenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2778 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 648: /* "JSONReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2787 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 655: /* "QNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2796 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 656: /* "FUNCTION_NAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2805 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 657: /* "EQNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2814 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 	break;
 
 	default:
@@ -2857,18 +2853,6 @@
   }
 #endif
 
-  inline bool
-  xquery_parser::yy_pact_value_is_default_ (int yyvalue)
-  {
-    return yyvalue == yypact_ninf_;
-  }
-
-  inline bool
-  xquery_parser::yy_table_value_is_error_ (int yyvalue)
-  {
-    return yyvalue == yytable_ninf_;
-  }
-
   int
   xquery_parser::parse ()
   {
@@ -2890,7 +2874,7 @@
     /// Location of the lookahead.
     location_type yylloc;
     /// The locations where the error started and ended.
-    location_type yyerror_range[3];
+    location_type yyerror_range[2];
 
     /// $$.
     semantic_type yyval;
@@ -2904,14 +2888,14 @@
 
     /* User initialization code.  */
     
-/* Line 565 of lalr1.cc  */
-#line 140 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 553 of lalr1.cc  */
+#line 140 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
-/* Line 565 of lalr1.cc  */
-#line 2915 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 553 of lalr1.cc  */
+#line 2899 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
 
     /* Initialize the stacks.  The initial state will be pushed in
        yynewstate, since the latter expects the semantical and the
@@ -2939,7 +2923,7 @@
 
     /* Try to take a decision without lookahead.  */
     yyn = yypact_[yystate];
-    if (yy_pact_value_is_default_ (yyn))
+    if (yyn == yypact_ninf_)
       goto yydefault;
 
     /* Read a lookahead token.  */
@@ -2972,8 +2956,8 @@
     yyn = yytable_[yyn];
     if (yyn <= 0)
       {
-	if (yy_table_value_is_error_ (yyn))
-	  goto yyerrlab;
+	if (yyn == 0 || yyn == yytable_ninf_)
+	goto yyerrlab;
 	yyn = -yyn;
 	goto yyreduce;
       }
@@ -3029,8 +3013,8 @@
       {
 	  case 3:
 
-/* Line 690 of lalr1.cc  */
-#line 1053 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1054 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3038,8 +3022,8 @@
 
   case 4:
 
-/* Line 690 of lalr1.cc  */
-#line 1057 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1058 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3047,8 +3031,8 @@
 
   case 5:
 
-/* Line 690 of lalr1.cc  */
-#line 1061 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1062 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       }
@@ -3056,8 +3040,8 @@
 
   case 6:
 
-/* Line 690 of lalr1.cc  */
-#line 1069 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1070 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL;
       }
@@ -3065,8 +3049,8 @@
 
   case 7:
 
-/* Line 690 of lalr1.cc  */
-#line 1075 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1076 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3074,8 +3058,8 @@
 
   case 8:
 
-/* Line 690 of lalr1.cc  */
-#line 1079 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1080 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3083,8 +3067,8 @@
 
   case 9:
 
-/* Line 690 of lalr1.cc  */
-#line 1088 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1089 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3093,8 +3077,8 @@
 
   case 10:
 
-/* Line 690 of lalr1.cc  */
-#line 1094 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1095 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       MainModule* mm = dynamic_cast<MainModule*>((yysemantic_stack_[(2) - (2)].node));
       mm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3105,8 +3089,8 @@
 
   case 11:
 
-/* Line 690 of lalr1.cc  */
-#line 1102 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1103 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3115,8 +3099,8 @@
 
   case 12:
 
-/* Line 690 of lalr1.cc  */
-#line 1108 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1109 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       LibraryModule* lm = dynamic_cast<LibraryModule*>((yysemantic_stack_[(2) - (2)].node));
       lm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3127,8 +3111,8 @@
 
   case 13:
 
-/* Line 690 of lalr1.cc  */
-#line 1119 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1120 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3136,8 +3120,8 @@
 
   case 14:
 
-/* Line 690 of lalr1.cc  */
-#line 1124 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1125 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3145,8 +3129,8 @@
 
   case 15:
 
-/* Line 690 of lalr1.cc  */
-#line 1132 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1133 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
 
@@ -3156,8 +3140,8 @@
 
   case 16:
 
-/* Line 690 of lalr1.cc  */
-#line 1139 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1140 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
 
@@ -3167,8 +3151,8 @@
 
   case 17:
 
-/* Line 690 of lalr1.cc  */
-#line 1146 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1147 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3180,8 +3164,8 @@
 
   case 18:
 
-/* Line 690 of lalr1.cc  */
-#line 1155 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1156 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3189,8 +3173,8 @@
 
   case 19:
 
-/* Line 690 of lalr1.cc  */
-#line 1162 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1163 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3201,8 +3185,8 @@
 
   case 20:
 
-/* Line 690 of lalr1.cc  */
-#line 1170 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1171 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3213,8 +3197,8 @@
 
   case 21:
 
-/* Line 690 of lalr1.cc  */
-#line 1178 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1179 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (3)]).step();
@@ -3225,8 +3209,8 @@
 
   case 22:
 
-/* Line 690 of lalr1.cc  */
-#line 1186 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1187 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (1)]).step();
@@ -3237,8 +3221,8 @@
 
   case 23:
 
-/* Line 690 of lalr1.cc  */
-#line 1197 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1198 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3246,8 +3230,8 @@
 
   case 24:
 
-/* Line 690 of lalr1.cc  */
-#line 1202 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1203 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
 
@@ -3257,8 +3241,8 @@
 
   case 25:
 
-/* Line 690 of lalr1.cc  */
-#line 1209 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1210 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
 
@@ -3268,8 +3252,8 @@
 
   case 26:
 
-/* Line 690 of lalr1.cc  */
-#line 1216 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1217 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3281,8 +3265,8 @@
 
   case 27:
 
-/* Line 690 of lalr1.cc  */
-#line 1228 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1229 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
 
@@ -3292,8 +3276,8 @@
 
   case 28:
 
-/* Line 690 of lalr1.cc  */
-#line 1238 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1239 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3303,8 +3287,8 @@
 
   case 29:
 
-/* Line 690 of lalr1.cc  */
-#line 1245 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1246 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       ((SIND_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3313,8 +3297,8 @@
 
   case 30:
 
-/* Line 690 of lalr1.cc  */
-#line 1252 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1253 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       // error
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
@@ -3326,8 +3310,8 @@
 
   case 44:
 
-/* Line 690 of lalr1.cc  */
-#line 1287 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1288 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3335,8 +3319,8 @@
 
   case 45:
 
-/* Line 690 of lalr1.cc  */
-#line 1292 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1293 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3344,8 +3328,8 @@
 
   case 46:
 
-/* Line 690 of lalr1.cc  */
-#line 1300 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1301 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3353,8 +3337,8 @@
 
   case 47:
 
-/* Line 690 of lalr1.cc  */
-#line 1308 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1309 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3362,8 +3346,8 @@
 
   case 48:
 
-/* Line 690 of lalr1.cc  */
-#line 1316 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1317 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3371,8 +3355,8 @@
 
   case 49:
 
-/* Line 690 of lalr1.cc  */
-#line 1321 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1322 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3380,8 +3364,8 @@
 
   case 50:
 
-/* Line 690 of lalr1.cc  */
-#line 1329 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1330 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3389,8 +3373,8 @@
 
   case 51:
 
-/* Line 690 of lalr1.cc  */
-#line 1334 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1335 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3398,8 +3382,8 @@
 
   case 52:
 
-/* Line 690 of lalr1.cc  */
-#line 1342 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1343 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3407,8 +3391,8 @@
 
   case 53:
 
-/* Line 690 of lalr1.cc  */
-#line 1347 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1348 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3416,8 +3400,8 @@
 
   case 54:
 
-/* Line 690 of lalr1.cc  */
-#line 1355 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1356 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, true);
     }
@@ -3425,8 +3409,8 @@
 
   case 55:
 
-/* Line 690 of lalr1.cc  */
-#line 1360 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1361 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, false);
     }
@@ -3434,8 +3418,8 @@
 
   case 56:
 
-/* Line 690 of lalr1.cc  */
-#line 1365 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1366 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, true);
     }
@@ -3443,8 +3427,8 @@
 
   case 57:
 
-/* Line 690 of lalr1.cc  */
-#line 1370 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1371 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, false);
     }
@@ -3452,8 +3436,8 @@
 
   case 60:
 
-/* Line 690 of lalr1.cc  */
-#line 1383 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1384 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yyval.node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (2)]), "syntax error, \"import\" should be followed by either \"schema\" or \"module\".");
@@ -3463,8 +3447,8 @@
 
   case 61:
 
-/* Line 690 of lalr1.cc  */
-#line 1393 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1394 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3472,8 +3456,8 @@
 
   case 62:
 
-/* Line 690 of lalr1.cc  */
-#line 1398 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1399 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3484,8 +3468,8 @@
 
   case 63:
 
-/* Line 690 of lalr1.cc  */
-#line 1406 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1407 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3496,8 +3480,8 @@
 
   case 64:
 
-/* Line 690 of lalr1.cc  */
-#line 1414 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1415 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3508,8 +3492,8 @@
 
   case 65:
 
-/* Line 690 of lalr1.cc  */
-#line 1425 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1426 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3519,8 +3503,8 @@
 
   case 66:
 
-/* Line 690 of lalr1.cc  */
-#line 1432 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1433 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       if ( URILiteralList *ull = dynamic_cast<URILiteralList*>((yysemantic_stack_[(3) - (1)].node)) )
         ull->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -3531,8 +3515,8 @@
 
   case 67:
 
-/* Line 690 of lalr1.cc  */
-#line 1443 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1444 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3540,8 +3524,8 @@
 
   case 68:
 
-/* Line 690 of lalr1.cc  */
-#line 1448 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1449 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3549,8 +3533,8 @@
 
   case 69:
 
-/* Line 690 of lalr1.cc  */
-#line 1456 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1457 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
 
@@ -3560,8 +3544,8 @@
 
   case 70:
 
-/* Line 690 of lalr1.cc  */
-#line 1463 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1464 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (4)].sval)), SYMTAB((yysemantic_stack_[(6) - (6)].sval)), NULL);
 
@@ -3571,8 +3555,8 @@
 
   case 71:
 
-/* Line 690 of lalr1.cc  */
-#line 1470 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1471 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3584,8 +3568,8 @@
 
   case 72:
 
-/* Line 690 of lalr1.cc  */
-#line 1479 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1480 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
@@ -3598,8 +3582,8 @@
 
   case 73:
 
-/* Line 690 of lalr1.cc  */
-#line 1492 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1493 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3607,8 +3591,8 @@
 
   case 74:
 
-/* Line 690 of lalr1.cc  */
-#line 1500 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1501 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3618,8 +3602,8 @@
 
   case 75:
 
-/* Line 690 of lalr1.cc  */
-#line 1507 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1508 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3629,8 +3613,8 @@
 
   case 76:
 
-/* Line 690 of lalr1.cc  */
-#line 1517 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1518 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3640,8 +3624,8 @@
 
   case 77:
 
-/* Line 690 of lalr1.cc  */
-#line 1524 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1525 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       ((VFO_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3650,8 +3634,8 @@
 
   case 78:
 
-/* Line 690 of lalr1.cc  */
-#line 1531 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1532 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3662,8 +3646,8 @@
 
   case 87:
 
-/* Line 690 of lalr1.cc  */
-#line 1554 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1555 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3672,8 +3656,8 @@
 
   case 88:
 
-/* Line 690 of lalr1.cc  */
-#line 1560 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1561 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3682,8 +3666,8 @@
 
   case 89:
 
-/* Line 690 of lalr1.cc  */
-#line 1569 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1570 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3693,8 +3677,8 @@
 
   case 90:
 
-/* Line 690 of lalr1.cc  */
-#line 1576 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1577 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3704,8 +3688,8 @@
 
   case 91:
 
-/* Line 690 of lalr1.cc  */
-#line 1586 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1587 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       StringLiteral *sl = static_cast<StringLiteral*>((yysemantic_stack_[(3) - (3)].expr));
       (yyval.strpair) = new string_pair_t( (yysemantic_stack_[(3) - (1)].strval), sl->get_strval().str() );
@@ -3715,78 +3699,78 @@
 
   case 92:
 
-/* Line 690 of lalr1.cc  */
-#line 1595 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1596 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 93:
 
-/* Line 690 of lalr1.cc  */
-#line 1596 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1597 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 94:
 
-/* Line 690 of lalr1.cc  */
-#line 1597 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1598 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 95:
 
-/* Line 690 of lalr1.cc  */
-#line 1598 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1599 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "infinty"; }
     break;
 
   case 96:
 
-/* Line 690 of lalr1.cc  */
-#line 1599 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1600 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 97:
 
-/* Line 690 of lalr1.cc  */
-#line 1600 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1601 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 98:
 
-/* Line 690 of lalr1.cc  */
-#line 1601 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1602 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 99:
 
-/* Line 690 of lalr1.cc  */
-#line 1602 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1603 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 100:
 
-/* Line 690 of lalr1.cc  */
-#line 1603 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1604 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 101:
 
-/* Line 690 of lalr1.cc  */
-#line 1604 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1605 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 102:
 
-/* Line 690 of lalr1.cc  */
-#line 1610 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1611 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OptionDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)));
     }
@@ -3794,8 +3778,8 @@
 
   case 103:
 
-/* Line 690 of lalr1.cc  */
-#line 1618 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1619 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3803,8 +3787,8 @@
 
   case 104:
 
-/* Line 690 of lalr1.cc  */
-#line 1626 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1627 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3812,8 +3796,8 @@
 
   case 105:
 
-/* Line 690 of lalr1.cc  */
-#line 1634 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1635 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3823,8 +3807,8 @@
 
   case 106:
 
-/* Line 690 of lalr1.cc  */
-#line 1641 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1642 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3832,8 +3816,8 @@
 
   case 107:
 
-/* Line 690 of lalr1.cc  */
-#line 1649 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1650 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3843,8 +3827,8 @@
 
   case 108:
 
-/* Line 690 of lalr1.cc  */
-#line 1656 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1657 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3852,8 +3836,8 @@
 
   case 109:
 
-/* Line 690 of lalr1.cc  */
-#line 1661 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1662 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3861,8 +3845,8 @@
 
   case 110:
 
-/* Line 690 of lalr1.cc  */
-#line 1669 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1670 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3870,8 +3854,8 @@
 
   case 111:
 
-/* Line 690 of lalr1.cc  */
-#line 1677 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1678 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
 
@@ -3888,8 +3872,8 @@
 
   case 112:
 
-/* Line 690 of lalr1.cc  */
-#line 1691 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1692 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
 
@@ -3906,8 +3890,8 @@
 
   case 113:
 
-/* Line 690 of lalr1.cc  */
-#line 1705 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1706 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
 
@@ -3924,8 +3908,8 @@
 
   case 114:
 
-/* Line 690 of lalr1.cc  */
-#line 1722 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1723 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3933,8 +3917,8 @@
 
   case 115:
 
-/* Line 690 of lalr1.cc  */
-#line 1727 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1728 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3945,8 +3929,8 @@
 
   case 116:
 
-/* Line 690 of lalr1.cc  */
-#line 1735 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1736 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3957,8 +3941,8 @@
 
   case 117:
 
-/* Line 690 of lalr1.cc  */
-#line 1743 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1744 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3969,8 +3953,8 @@
 
   case 118:
 
-/* Line 690 of lalr1.cc  */
-#line 1754 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1755 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3978,8 +3962,8 @@
 
   case 119:
 
-/* Line 690 of lalr1.cc  */
-#line 1759 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1760 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       static_cast<AnnotationListParsenode*>((yysemantic_stack_[(2) - (1)].node))->push_back(static_cast<AnnotationParsenode*>((yysemantic_stack_[(2) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
@@ -3988,8 +3972,8 @@
 
   case 120:
 
-/* Line 690 of lalr1.cc  */
-#line 1768 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1769 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3997,8 +3981,8 @@
 
   case 121:
 
-/* Line 690 of lalr1.cc  */
-#line 1773 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1774 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -4008,8 +3992,8 @@
 
   case 122:
 
-/* Line 690 of lalr1.cc  */
-#line 1780 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1781 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -4017,8 +4001,8 @@
 
   case 123:
 
-/* Line 690 of lalr1.cc  */
-#line 1785 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1786 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -4028,8 +4012,8 @@
 
   case 124:
 
-/* Line 690 of lalr1.cc  */
-#line 1795 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1796 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -4037,8 +4021,8 @@
 
   case 125:
 
-/* Line 690 of lalr1.cc  */
-#line 1800 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1801 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       static_cast<AnnotationLiteralListParsenode*>((yysemantic_stack_[(3) - (1)].node))->push_back((yysemantic_stack_[(3) - (3)].expr));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -4047,8 +4031,8 @@
 
   case 126:
 
-/* Line 690 of lalr1.cc  */
-#line 1809 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1810 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       static_cast<FunctionDecl*>((yysemantic_stack_[(2) - (2)].node))->setComment( SYMTAB((yysemantic_stack_[(2) - (1)].sval)) );
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
@@ -4057,8 +4041,8 @@
 
   case 127:
 
-/* Line 690 of lalr1.cc  */
-#line 1815 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1816 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
 
@@ -4071,8 +4055,8 @@
 
   case 128:
 
-/* Line 690 of lalr1.cc  */
-#line 1828 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1829 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4080,8 +4064,8 @@
 
   case 129:
 
-/* Line 690 of lalr1.cc  */
-#line 1833 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1834 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4089,8 +4073,8 @@
 
   case 130:
 
-/* Line 690 of lalr1.cc  */
-#line 1841 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1842 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4105,8 +4089,8 @@
 
   case 131:
 
-/* Line 690 of lalr1.cc  */
-#line 1852 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1853 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4121,8 +4105,8 @@
 
   case 132:
 
-/* Line 690 of lalr1.cc  */
-#line 1867 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1868 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4137,8 +4121,8 @@
 
   case 133:
 
-/* Line 690 of lalr1.cc  */
-#line 1879 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1880 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4153,8 +4137,8 @@
 
   case 134:
 
-/* Line 690 of lalr1.cc  */
-#line 1894 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1895 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4162,8 +4146,8 @@
 
   case 135:
 
-/* Line 690 of lalr1.cc  */
-#line 1899 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1900 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4171,8 +4155,8 @@
 
   case 136:
 
-/* Line 690 of lalr1.cc  */
-#line 1904 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1905 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4180,8 +4164,8 @@
 
   case 137:
 
-/* Line 690 of lalr1.cc  */
-#line 1909 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1910 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(5) - (2)].node)), dynamic_cast<SequenceType*>((yysemantic_stack_[(5) - (5)].node)));
     }
@@ -4189,8 +4173,8 @@
 
   case 138:
 
-/* Line 690 of lalr1.cc  */
-#line 1917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1918 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4200,8 +4184,8 @@
 
   case 139:
 
-/* Line 690 of lalr1.cc  */
-#line 1924 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1925 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       if ( ParamList *pl = dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (1)].node)) )
         pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -4212,8 +4196,8 @@
 
   case 140:
 
-/* Line 690 of lalr1.cc  */
-#line 1935 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1936 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4221,8 +4205,8 @@
 
   case 141:
 
-/* Line 690 of lalr1.cc  */
-#line 1940 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1941 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4232,8 +4216,8 @@
 
   case 142:
 
-/* Line 690 of lalr1.cc  */
-#line 1950 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1951 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4246,8 +4230,8 @@
 
   case 143:
 
-/* Line 690 of lalr1.cc  */
-#line 1959 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1960 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4260,8 +4244,8 @@
 
   case 144:
 
-/* Line 690 of lalr1.cc  */
-#line 1968 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1969 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4274,8 +4258,8 @@
 
   case 145:
 
-/* Line 690 of lalr1.cc  */
-#line 1977 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1978 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4288,8 +4272,8 @@
 
   case 146:
 
-/* Line 690 of lalr1.cc  */
-#line 1989 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1990 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4297,8 +4281,8 @@
 
   case 147:
 
-/* Line 690 of lalr1.cc  */
-#line 1993 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1994 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4308,8 +4292,8 @@
 
   case 148:
 
-/* Line 690 of lalr1.cc  */
-#line 1999 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2000 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4317,8 +4301,8 @@
 
   case 149:
 
-/* Line 690 of lalr1.cc  */
-#line 2003 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2004 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4329,8 +4313,8 @@
 
   case 150:
 
-/* Line 690 of lalr1.cc  */
-#line 2013 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2014 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4344,8 +4328,8 @@
 
   case 151:
 
-/* Line 690 of lalr1.cc  */
-#line 2023 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2024 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4359,8 +4343,8 @@
 
   case 152:
 
-/* Line 690 of lalr1.cc  */
-#line 2036 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2037 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4370,8 +4354,8 @@
 
   case 153:
 
-/* Line 690 of lalr1.cc  */
-#line 2042 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2043 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       dynamic_cast<IndexKeyList*>((yysemantic_stack_[(3) - (1)].node))->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(3) - (3)].node)));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -4380,8 +4364,8 @@
 
   case 154:
 
-/* Line 690 of lalr1.cc  */
-#line 2051 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2052 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
@@ -4389,8 +4373,8 @@
 
   case 155:
 
-/* Line 690 of lalr1.cc  */
-#line 2056 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2057 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4401,8 +4385,8 @@
 
   case 156:
 
-/* Line 690 of lalr1.cc  */
-#line 2063 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2064 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4413,8 +4397,8 @@
 
   case 157:
 
-/* Line 690 of lalr1.cc  */
-#line 2070 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2071 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4425,8 +4409,8 @@
 
   case 158:
 
-/* Line 690 of lalr1.cc  */
-#line 2082 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2083 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4438,8 +4422,8 @@
 
   case 159:
 
-/* Line 690 of lalr1.cc  */
-#line 2092 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2093 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4451,8 +4435,8 @@
 
   case 160:
 
-/* Line 690 of lalr1.cc  */
-#line 2102 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2103 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4464,8 +4448,8 @@
 
   case 161:
 
-/* Line 690 of lalr1.cc  */
-#line 2113 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2114 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4480,8 +4464,8 @@
 
   case 162:
 
-/* Line 690 of lalr1.cc  */
-#line 2129 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2130 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4501,8 +4485,8 @@
 
   case 163:
 
-/* Line 690 of lalr1.cc  */
-#line 2149 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2150 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4510,8 +4494,8 @@
 
   case 164:
 
-/* Line 690 of lalr1.cc  */
-#line 2153 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2154 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4519,8 +4503,8 @@
 
   case 165:
 
-/* Line 690 of lalr1.cc  */
-#line 2157 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2158 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  NULL;
     }
@@ -4528,8 +4512,8 @@
 
   case 166:
 
-/* Line 690 of lalr1.cc  */
-#line 2165 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2166 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4537,8 +4521,8 @@
 
   case 167:
 
-/* Line 690 of lalr1.cc  */
-#line 2169 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2170 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4546,8 +4530,8 @@
 
   case 168:
 
-/* Line 690 of lalr1.cc  */
-#line 2173 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2174 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  new BlockBody(LOC((yyloc)));
     }
@@ -4555,8 +4539,8 @@
 
   case 169:
 
-/* Line 690 of lalr1.cc  */
-#line 2181 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2182 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4564,8 +4548,8 @@
 
   case 170:
 
-/* Line 690 of lalr1.cc  */
-#line 2186 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2187 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4577,8 +4561,8 @@
 
   case 171:
 
-/* Line 690 of lalr1.cc  */
-#line 2198 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2199 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4588,8 +4572,8 @@
 
   case 172:
 
-/* Line 690 of lalr1.cc  */
-#line 2205 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2206 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4601,8 +4585,8 @@
 
   case 173:
 
-/* Line 690 of lalr1.cc  */
-#line 2215 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2216 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(4) - (1)].expr); // to prevent the Bison warning
       (yyval.expr) = (yysemantic_stack_[(4) - (2)].expr); // to prevent the Bison warning
@@ -4617,8 +4601,8 @@
 
   case 186:
 
-/* Line 690 of lalr1.cc  */
-#line 2247 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2248 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4626,8 +4610,8 @@
 
   case 187:
 
-/* Line 690 of lalr1.cc  */
-#line 2252 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2253 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
@@ -4635,8 +4619,8 @@
 
   case 188:
 
-/* Line 690 of lalr1.cc  */
-#line 2260 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2261 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       if (dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr)) == NULL)
       {
@@ -4653,8 +4637,8 @@
 
   case 189:
 
-/* Line 690 of lalr1.cc  */
-#line 2277 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2278 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4662,8 +4646,8 @@
 
   case 190:
 
-/* Line 690 of lalr1.cc  */
-#line 2285 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2286 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
@@ -4671,8 +4655,8 @@
 
   case 191:
 
-/* Line 690 of lalr1.cc  */
-#line 2293 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2294 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4682,8 +4666,8 @@
 
   case 192:
 
-/* Line 690 of lalr1.cc  */
-#line 2300 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2301 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4693,8 +4677,8 @@
 
   case 193:
 
-/* Line 690 of lalr1.cc  */
-#line 2307 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2308 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)),
                                            static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
@@ -4705,8 +4689,8 @@
 
   case 194:
 
-/* Line 690 of lalr1.cc  */
-#line 2318 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2319 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4719,8 +4703,8 @@
 
   case 195:
 
-/* Line 690 of lalr1.cc  */
-#line 2327 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2328 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4733,8 +4717,8 @@
 
   case 196:
 
-/* Line 690 of lalr1.cc  */
-#line 2336 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2337 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4747,8 +4731,8 @@
 
   case 197:
 
-/* Line 690 of lalr1.cc  */
-#line 2345 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2346 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4761,8 +4745,8 @@
 
   case 198:
 
-/* Line 690 of lalr1.cc  */
-#line 2358 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2359 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new AssignExpr(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)), (yysemantic_stack_[(5) - (4)].expr));
     }
@@ -4770,8 +4754,8 @@
 
   case 199:
 
-/* Line 690 of lalr1.cc  */
-#line 2366 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2367 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
@@ -4779,8 +4763,8 @@
 
   case 200:
 
-/* Line 690 of lalr1.cc  */
-#line 2374 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2375 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
@@ -4788,8 +4772,8 @@
 
   case 201:
 
-/* Line 690 of lalr1.cc  */
-#line 2382 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2383 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4804,8 +4788,8 @@
 
   case 202:
 
-/* Line 690 of lalr1.cc  */
-#line 2397 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2398 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
@@ -4813,8 +4797,8 @@
 
   case 203:
 
-/* Line 690 of lalr1.cc  */
-#line 2402 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2403 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
@@ -4822,8 +4806,8 @@
 
   case 204:
 
-/* Line 690 of lalr1.cc  */
-#line 2410 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2411 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4837,8 +4821,8 @@
 
   case 205:
 
-/* Line 690 of lalr1.cc  */
-#line 2424 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2425 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
 
@@ -4855,8 +4839,8 @@
 
   case 206:
 
-/* Line 690 of lalr1.cc  */
-#line 2441 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2442 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4881,8 +4865,8 @@
 
   case 207:
 
-/* Line 690 of lalr1.cc  */
-#line 2466 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2467 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -4890,8 +4874,8 @@
 
   case 208:
 
-/* Line 690 of lalr1.cc  */
-#line 2474 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2475 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4901,8 +4885,8 @@
 
   case 209:
 
-/* Line 690 of lalr1.cc  */
-#line 2481 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2482 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4913,8 +4897,8 @@
 
   case 210:
 
-/* Line 690 of lalr1.cc  */
-#line 2492 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2493 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
        delete (yysemantic_stack_[(3) - (2)].name_test_list);
@@ -4923,8 +4907,8 @@
 
   case 211:
 
-/* Line 690 of lalr1.cc  */
-#line 2502 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2503 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4932,8 +4916,8 @@
 
   case 212:
 
-/* Line 690 of lalr1.cc  */
-#line 2507 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2508 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4948,8 +4932,8 @@
 
   case 213:
 
-/* Line 690 of lalr1.cc  */
-#line 2520 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2521 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (1)].expr); // to prevent the Bison warning
       (yyval.expr) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
@@ -4966,8 +4950,8 @@
 
   case 232:
 
-/* Line 690 of lalr1.cc  */
-#line 2567 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2568 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4981,8 +4965,8 @@
 
   case 233:
 
-/* Line 690 of lalr1.cc  */
-#line 2581 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2582 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
@@ -4990,8 +4974,8 @@
 
   case 234:
 
-/* Line 690 of lalr1.cc  */
-#line 2589 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2590 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
@@ -4999,8 +4983,8 @@
 
   case 235:
 
-/* Line 690 of lalr1.cc  */
-#line 2594 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2595 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
@@ -5008,8 +4992,8 @@
 
   case 236:
 
-/* Line 690 of lalr1.cc  */
-#line 2602 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2603 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
@@ -5017,8 +5001,8 @@
 
   case 237:
 
-/* Line 690 of lalr1.cc  */
-#line 2607 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2608 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
@@ -5026,8 +5010,8 @@
 
   case 238:
 
-/* Line 690 of lalr1.cc  */
-#line 2612 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2613 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
@@ -5035,8 +5019,8 @@
 
   case 239:
 
-/* Line 690 of lalr1.cc  */
-#line 2620 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2621 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5048,8 +5032,8 @@
 
   case 240:
 
-/* Line 690 of lalr1.cc  */
-#line 2629 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2630 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -5061,8 +5045,8 @@
 
   case 241:
 
-/* Line 690 of lalr1.cc  */
-#line 2641 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2642 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -5076,8 +5060,8 @@
 
   case 242:
 
-/* Line 690 of lalr1.cc  */
-#line 2651 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2652 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -5090,8 +5074,8 @@
 
   case 243:
 
-/* Line 690 of lalr1.cc  */
-#line 2664 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2665 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5099,8 +5083,8 @@
 
   case 252:
 
-/* Line 690 of lalr1.cc  */
-#line 2688 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2689 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5110,8 +5094,8 @@
 
   case 253:
 
-/* Line 690 of lalr1.cc  */
-#line 2695 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2696 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = dynamic_cast<FLWORClauseList*>((yysemantic_stack_[(2) - (1)].node));
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -5121,8 +5105,8 @@
 
   case 254:
 
-/* Line 690 of lalr1.cc  */
-#line 2705 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2706 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5130,8 +5114,8 @@
 
   case 255:
 
-/* Line 690 of lalr1.cc  */
-#line 2711 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2712 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected qualified name \""
@@ -5143,8 +5127,8 @@
 
   case 256:
 
-/* Line 690 of lalr1.cc  */
-#line 2720 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2721 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = NULL; // to prevent the Bison warning
       error((yylocation_stack_[(2) - (2)]), ""); // the error message is already set in the driver's parseError member
@@ -5154,8 +5138,8 @@
 
   case 257:
 
-/* Line 690 of lalr1.cc  */
-#line 2730 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2731 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       VarInDeclList* vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5165,8 +5149,8 @@
 
   case 258:
 
-/* Line 690 of lalr1.cc  */
-#line 2737 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2738 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       if ( VarInDeclList* vdl = dynamic_cast<VarInDeclList*>((yysemantic_stack_[(4) - (1)].node)) )
         vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5176,8 +5160,8 @@
 
   case 259:
 
-/* Line 690 of lalr1.cc  */
-#line 2745 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2746 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (3)]), "syntax error, unexpected QName \""
@@ -5189,8 +5173,8 @@
 
   case 260:
 
-/* Line 690 of lalr1.cc  */
-#line 2757 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2758 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5204,8 +5188,8 @@
 
   case 261:
 
-/* Line 690 of lalr1.cc  */
-#line 2767 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2768 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5219,8 +5203,8 @@
 
   case 262:
 
-/* Line 690 of lalr1.cc  */
-#line 2777 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2778 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5234,8 +5218,8 @@
 
   case 263:
 
-/* Line 690 of lalr1.cc  */
-#line 2787 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2788 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5249,8 +5233,8 @@
 
   case 264:
 
-/* Line 690 of lalr1.cc  */
-#line 2797 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2798 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5264,8 +5248,8 @@
 
   case 265:
 
-/* Line 690 of lalr1.cc  */
-#line 2807 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2808 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5279,8 +5263,8 @@
 
   case 266:
 
-/* Line 690 of lalr1.cc  */
-#line 2817 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2818 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5294,8 +5278,8 @@
 
   case 267:
 
-/* Line 690 of lalr1.cc  */
-#line 2827 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2828 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5309,8 +5293,8 @@
 
   case 268:
 
-/* Line 690 of lalr1.cc  */
-#line 2838 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2839 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5323,8 +5307,8 @@
 
   case 269:
 
-/* Line 690 of lalr1.cc  */
-#line 2847 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2848 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5338,8 +5322,8 @@
 
   case 270:
 
-/* Line 690 of lalr1.cc  */
-#line 2857 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2858 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5353,8 +5337,8 @@
 
   case 271:
 
-/* Line 690 of lalr1.cc  */
-#line 2867 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2868 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5368,8 +5352,8 @@
 
   case 272:
 
-/* Line 690 of lalr1.cc  */
-#line 2883 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2884 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5377,8 +5361,8 @@
 
   case 273:
 
-/* Line 690 of lalr1.cc  */
-#line 2892 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2893 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5386,8 +5370,8 @@
 
   case 274:
 
-/* Line 690 of lalr1.cc  */
-#line 2901 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2902 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
@@ -5395,8 +5379,8 @@
 
   case 275:
 
-/* Line 690 of lalr1.cc  */
-#line 2909 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2910 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5406,8 +5390,8 @@
 
   case 276:
 
-/* Line 690 of lalr1.cc  */
-#line 2915 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2916 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if( VarGetsDeclList *vgdl = dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(3) - (1)].node)) )
                 vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5417,8 +5401,8 @@
 
   case 277:
 
-/* Line 690 of lalr1.cc  */
-#line 2927 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2928 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5430,8 +5414,8 @@
 
   case 278:
 
-/* Line 690 of lalr1.cc  */
-#line 2935 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2936 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5443,8 +5427,8 @@
 
   case 279:
 
-/* Line 690 of lalr1.cc  */
-#line 2945 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2946 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5456,8 +5440,8 @@
 
   case 280:
 
-/* Line 690 of lalr1.cc  */
-#line 2953 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2954 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5469,8 +5453,8 @@
 
   case 281:
 
-/* Line 690 of lalr1.cc  */
-#line 2965 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2966 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5480,8 +5464,8 @@
 
   case 282:
 
-/* Line 690 of lalr1.cc  */
-#line 2971 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2972 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5492,8 +5476,8 @@
 
   case 284:
 
-/* Line 690 of lalr1.cc  */
-#line 2984 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2985 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
@@ -5501,8 +5485,8 @@
 
   case 285:
 
-/* Line 690 of lalr1.cc  */
-#line 2988 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2989 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_curr(static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)));
@@ -5511,8 +5495,8 @@
 
   case 286:
 
-/* Line 690 of lalr1.cc  */
-#line 2996 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2997 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
@@ -5520,8 +5504,8 @@
 
   case 287:
 
-/* Line 690 of lalr1.cc  */
-#line 3000 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3001 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_posvar(dynamic_cast<PositionalVar*>((yysemantic_stack_[(2) - (1)].node)));
@@ -5530,8 +5514,8 @@
 
   case 289:
 
-/* Line 690 of lalr1.cc  */
-#line 3009 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3010 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), static_cast<QName*>((yysemantic_stack_[(6) - (6)].expr)));
     }
@@ -5539,8 +5523,8 @@
 
   case 290:
 
-/* Line 690 of lalr1.cc  */
-#line 3013 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3014 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5548,8 +5532,8 @@
 
   case 291:
 
-/* Line 690 of lalr1.cc  */
-#line 3017 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3018 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
@@ -5557,8 +5541,8 @@
 
   case 292:
 
-/* Line 690 of lalr1.cc  */
-#line 3027 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3028 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -5566,8 +5550,8 @@
 
   case 293:
 
-/* Line 690 of lalr1.cc  */
-#line 3035 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3036 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5575,8 +5559,8 @@
 
   case 294:
 
-/* Line 690 of lalr1.cc  */
-#line 3042 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3043 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5586,8 +5570,8 @@
 
   case 295:
 
-/* Line 690 of lalr1.cc  */
-#line 3048 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3049 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = static_cast<GroupSpecList*>((yysemantic_stack_[(3) - (1)].node));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(3) - (3)].node)));
@@ -5597,8 +5581,8 @@
 
   case 296:
 
-/* Line 690 of lalr1.cc  */
-#line 3058 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3059 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL, NULL);
     }
@@ -5606,8 +5590,8 @@
 
   case 297:
 
-/* Line 690 of lalr1.cc  */
-#line 3062 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3063 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)), NULL, (yysemantic_stack_[(4) - (4)].expr), NULL);
     }
@@ -5615,8 +5599,8 @@
 
   case 298:
 
-/* Line 690 of lalr1.cc  */
-#line 3066 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3067 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5628,8 +5612,8 @@
 
   case 299:
 
-/* Line 690 of lalr1.cc  */
-#line 3074 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3075 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5641,8 +5625,8 @@
 
   case 300:
 
-/* Line 690 of lalr1.cc  */
-#line 3082 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3083 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5654,8 +5638,8 @@
 
   case 301:
 
-/* Line 690 of lalr1.cc  */
-#line 3090 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3091 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5667,8 +5651,8 @@
 
   case 302:
 
-/* Line 690 of lalr1.cc  */
-#line 3102 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3103 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
@@ -5676,8 +5660,8 @@
 
   case 303:
 
-/* Line 690 of lalr1.cc  */
-#line 3110 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3111 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5687,8 +5671,8 @@
 
   case 304:
 
-/* Line 690 of lalr1.cc  */
-#line 3116 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3117 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5698,8 +5682,8 @@
 
   case 305:
 
-/* Line 690 of lalr1.cc  */
-#line 3126 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3127 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5709,8 +5693,8 @@
 
   case 306:
 
-/* Line 690 of lalr1.cc  */
-#line 3132 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3133 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if ( OrderSpecList* osl = dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (1)].node)) )
                 osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5720,8 +5704,8 @@
 
   case 307:
 
-/* Line 690 of lalr1.cc  */
-#line 3142 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3143 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
@@ -5729,8 +5713,8 @@
 
   case 308:
 
-/* Line 690 of lalr1.cc  */
-#line 3146 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3147 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec(
                 LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<OrderModifierPN*>((yysemantic_stack_[(2) - (2)].node))
@@ -5740,8 +5724,8 @@
 
   case 309:
 
-/* Line 690 of lalr1.cc  */
-#line 3156 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3157 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5751,8 +5735,8 @@
 
   case 310:
 
-/* Line 690 of lalr1.cc  */
-#line 3162 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3163 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5762,8 +5746,8 @@
 
   case 311:
 
-/* Line 690 of lalr1.cc  */
-#line 3168 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3169 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5773,8 +5757,8 @@
 
   case 312:
 
-/* Line 690 of lalr1.cc  */
-#line 3174 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3175 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5787,8 +5771,8 @@
 
   case 313:
 
-/* Line 690 of lalr1.cc  */
-#line 3183 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3184 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5801,8 +5785,8 @@
 
   case 314:
 
-/* Line 690 of lalr1.cc  */
-#line 3192 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3193 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5815,8 +5799,8 @@
 
   case 315:
 
-/* Line 690 of lalr1.cc  */
-#line 3201 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3202 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5829,8 +5813,8 @@
 
   case 316:
 
-/* Line 690 of lalr1.cc  */
-#line 3214 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3215 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
@@ -5838,8 +5822,8 @@
 
   case 317:
 
-/* Line 690 of lalr1.cc  */
-#line 3218 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3219 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
@@ -5847,8 +5831,8 @@
 
   case 318:
 
-/* Line 690 of lalr1.cc  */
-#line 3226 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3227 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5858,8 +5842,8 @@
 
   case 319:
 
-/* Line 690 of lalr1.cc  */
-#line 3232 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3233 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5869,8 +5853,8 @@
 
   case 320:
 
-/* Line 690 of lalr1.cc  */
-#line 3242 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3243 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5878,8 +5862,8 @@
 
   case 321:
 
-/* Line 690 of lalr1.cc  */
-#line 3250 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3251 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5892,8 +5876,8 @@
 
   case 322:
 
-/* Line 690 of lalr1.cc  */
-#line 3259 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3260 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5906,8 +5890,8 @@
 
   case 323:
 
-/* Line 690 of lalr1.cc  */
-#line 3272 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3273 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5918,8 +5902,8 @@
 
   case 324:
 
-/* Line 690 of lalr1.cc  */
-#line 3279 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3280 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = dynamic_cast<QVarInDeclList*>((yysemantic_stack_[(4) - (1)].node));
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5929,8 +5913,8 @@
 
   case 325:
 
-/* Line 690 of lalr1.cc  */
-#line 3291 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3292 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5938,8 +5922,8 @@
 
   case 326:
 
-/* Line 690 of lalr1.cc  */
-#line 3295 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3296 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5950,8 +5934,8 @@
 
   case 327:
 
-/* Line 690 of lalr1.cc  */
-#line 3307 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3308 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -5959,8 +5943,8 @@
 
   case 328:
 
-/* Line 690 of lalr1.cc  */
-#line 3314 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3315 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5970,8 +5954,8 @@
 
   case 329:
 
-/* Line 690 of lalr1.cc  */
-#line 3320 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3321 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -5981,8 +5965,8 @@
 
   case 330:
 
-/* Line 690 of lalr1.cc  */
-#line 3329 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3330 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5990,8 +5974,8 @@
 
   case 331:
 
-/* Line 690 of lalr1.cc  */
-#line 3336 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3337 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -6001,8 +5985,8 @@
 
   case 332:
 
-/* Line 690 of lalr1.cc  */
-#line 3342 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3343 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = static_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node));
       sco_list_p->push_back((yysemantic_stack_[(3) - (3)].expr));
@@ -6012,8 +5996,8 @@
 
   case 333:
 
-/* Line 690 of lalr1.cc  */
-#line 3353 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3354 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -6021,8 +6005,8 @@
 
   case 334:
 
-/* Line 690 of lalr1.cc  */
-#line 3360 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3361 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6032,8 +6016,8 @@
 
   case 335:
 
-/* Line 690 of lalr1.cc  */
-#line 3366 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3367 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6043,8 +6027,8 @@
 
   case 336:
 
-/* Line 690 of lalr1.cc  */
-#line 3375 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3376 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -6052,24 +6036,24 @@
 
   case 337:
 
-/* Line 690 of lalr1.cc  */
-#line 3384 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3385 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
-                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(8) - (5)].node)),
+                              static_cast<CaseClauseList*>((yysemantic_stack_[(8) - (5)].node)),
                               (yysemantic_stack_[(8) - (8)].expr));
     }
     break;
 
   case 338:
 
-/* Line 690 of lalr1.cc  */
-#line 3391 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3392 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
-                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(10) - (5)].node)),
+                              static_cast<CaseClauseList*>((yysemantic_stack_[(10) - (5)].node)),
                               static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr)),
                               (yysemantic_stack_[(10) - (10)].expr));
     }
@@ -6077,24 +6061,24 @@
 
   case 339:
 
-/* Line 690 of lalr1.cc  */
-#line 3402 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3403 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
-                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(8) - (5)].node)),
+                              static_cast<CaseClauseList*>((yysemantic_stack_[(8) - (5)].node)),
                               (yysemantic_stack_[(8) - (8)].expr));
     }
     break;
 
   case 340:
 
-/* Line 690 of lalr1.cc  */
-#line 3409 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3410 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
-                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(10) - (5)].node)),
+                              static_cast<CaseClauseList*>((yysemantic_stack_[(10) - (5)].node)),
                               static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr)),
                               (yysemantic_stack_[(10) - (10)].expr));
     }
@@ -6102,143 +6086,147 @@
 
   case 341:
 
-/* Line 690 of lalr1.cc  */
-#line 3421 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3422 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
+      cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
       (yyval.node) = cc_list_p;
     }
     break;
 
   case 342:
 
-/* Line 690 of lalr1.cc  */
-#line 3427 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3428 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
+      cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
     }
     break;
 
   case 343:
 
-/* Line 690 of lalr1.cc  */
-#line 3439 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3440 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
+                          static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
                           (yysemantic_stack_[(4) - (4)].expr));
     }
     break;
 
   case 344:
 
-/* Line 690 of lalr1.cc  */
-#line 3445 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3446 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(7) - (5)].node)),
+                          static_cast<SequenceTypeList*>((yysemantic_stack_[(7) - (5)].node)),
                           (yysemantic_stack_[(7) - (7)].expr));
      }
     break;
 
   case 345:
 
-/* Line 690 of lalr1.cc  */
-#line 3456 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3457 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
+      cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
       (yyval.node) = cc_list_p;
     }
     break;
 
   case 346:
 
-/* Line 690 of lalr1.cc  */
-#line 3462 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3463 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
+      CaseClauseList* cc_list_p = static_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
+      cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
     }
     break;
 
   case 347:
 
-/* Line 690 of lalr1.cc  */
-#line 3473 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3474 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
+                          static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
                           (yysemantic_stack_[(4) - (4)].expr));
     }
     break;
 
   case 348:
 
-/* Line 690 of lalr1.cc  */
-#line 3479 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3480 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(7) - (5)].node)),
+                          static_cast<SequenceTypeList*>((yysemantic_stack_[(7) - (5)].node)),
                           (yysemantic_stack_[(7) - (7)].expr));
      }
     break;
 
   case 349:
 
-/* Line 690 of lalr1.cc  */
-#line 3490 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3491 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = new IfExpr(LOC ((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (6)].expr), (yysemantic_stack_[(8) - (8)].expr));
+      SequenceTypeList* seqList = new SequenceTypeList(LOC((yyloc)));
+      seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(1) - (1)].node)));
+      (yyval.node) = seqList;
     }
     break;
 
   case 350:
 
-/* Line 690 of lalr1.cc  */
-#line 3499 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3497 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+      SequenceTypeList* seqList = static_cast<SequenceTypeList*>((yysemantic_stack_[(3) - (1)].node));
+      seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(3) - (3)].node)));
+      (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
     }
     break;
 
   case 351:
 
-/* Line 690 of lalr1.cc  */
-#line 3503 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3508 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+      (yyval.expr) = new IfExpr(LOC ((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (6)].expr), (yysemantic_stack_[(8) - (8)].expr));
     }
     break;
 
   case 352:
 
-/* Line 690 of lalr1.cc  */
-#line 3512 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3517 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 353:
 
-/* Line 690 of lalr1.cc  */
-#line 3516 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3521 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
-        }
+      (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+    }
     break;
 
   case 354:
 
-/* Line 690 of lalr1.cc  */
-#line 3524 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3530 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6246,8 +6234,26 @@
 
   case 355:
 
-/* Line 690 of lalr1.cc  */
-#line 3528 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3534 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 356:
+
+/* Line 678 of lalr1.cc  */
+#line 3542 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 357:
+
+/* Line 678 of lalr1.cc  */
+#line 3546 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
@@ -6259,10 +6265,10 @@
         }
     break;
 
-  case 356:
+  case 358:
 
-/* Line 690 of lalr1.cc  */
-#line 3538 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3556 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "is" | "<<" | ">>" */
             (yyval.expr) = new ComparisonExpr(
@@ -6271,10 +6277,10 @@
         }
     break;
 
-  case 357:
+  case 359:
 
-/* Line 690 of lalr1.cc  */
-#line 3545 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3563 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6285,10 +6291,10 @@
         }
     break;
 
-  case 358:
+  case 360:
 
-/* Line 690 of lalr1.cc  */
-#line 3554 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3572 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6299,20 +6305,20 @@
         }
     break;
 
-  case 359:
+  case 361:
 
-/* Line 690 of lalr1.cc  */
-#line 3563 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3581 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             /* this call is needed */
             driver.lexer->interpretAsLessThan();
         }
     break;
 
-  case 360:
+  case 362:
 
-/* Line 690 of lalr1.cc  */
-#line 3568 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3586 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6323,10 +6329,10 @@
         }
     break;
 
-  case 361:
+  case 363:
 
-/* Line 690 of lalr1.cc  */
-#line 3577 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3595 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6337,10 +6343,10 @@
         }
     break;
 
-  case 362:
+  case 364:
 
-/* Line 690 of lalr1.cc  */
-#line 3586 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3604 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6351,10 +6357,10 @@
         }
     break;
 
-  case 363:
+  case 365:
 
-/* Line 690 of lalr1.cc  */
-#line 3595 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3613 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6365,19 +6371,19 @@
         }
     break;
 
-  case 364:
+  case 366:
 
-/* Line 690 of lalr1.cc  */
-#line 3608 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3626 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 365:
+  case 367:
 
-/* Line 690 of lalr1.cc  */
-#line 3612 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3630 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6388,64 +6394,46 @@
         }
     break;
 
-  case 366:
-
-/* Line 690 of lalr1.cc  */
-#line 3624 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 367:
-
-/* Line 690 of lalr1.cc  */
-#line 3628 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
-        }
-    break;
-
   case 368:
 
-/* Line 690 of lalr1.cc  */
-#line 3635 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3642 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = NULL;
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 369:
 
-/* Line 690 of lalr1.cc  */
-#line 3639 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3646 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+          (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
     break;
 
   case 370:
 
-/* Line 690 of lalr1.cc  */
-#line 3646 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3653 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.node) = NULL;
         }
     break;
 
   case 371:
 
-/* Line 690 of lalr1.cc  */
-#line 3650 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3657 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 372:
 
-/* Line 690 of lalr1.cc  */
-#line 3659 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3664 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6453,157 +6441,155 @@
 
   case 373:
 
-/* Line 690 of lalr1.cc  */
-#line 3663 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3668 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 374:
 
-/* Line 690 of lalr1.cc  */
-#line 3667 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3677 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_minus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 375:
 
-/* Line 690 of lalr1.cc  */
-#line 3675 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3681 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 376:
 
-/* Line 690 of lalr1.cc  */
-#line 3679 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3685 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_minus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 377:
 
-/* Line 690 of lalr1.cc  */
-#line 3685 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3693 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 378:
 
-/* Line 690 of lalr1.cc  */
-#line 3691 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3697 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+                LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
 
   case 379:
 
-/* Line 690 of lalr1.cc  */
-#line 3697 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3703 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+                LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
 
   case 380:
 
-/* Line 690 of lalr1.cc  */
-#line 3707 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3709 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 381:
 
-/* Line 690 of lalr1.cc  */
-#line 3711 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3715 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 382:
 
-/* Line 690 of lalr1.cc  */
-#line 3715 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3725 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 383:
 
-/* Line 690 of lalr1.cc  */
-#line 3723 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3729 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 384:
 
-/* Line 690 of lalr1.cc  */
-#line 3727 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3733 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new IntersectExceptExpr(
-                LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 385:
 
-/* Line 690 of lalr1.cc  */
-#line 3733 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3741 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new IntersectExceptExpr(
-                LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 386:
 
-/* Line 690 of lalr1.cc  */
-#line 3743 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3745 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new IntersectExceptExpr(
+                LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 387:
 
-/* Line 690 of lalr1.cc  */
-#line 3747 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3751 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InstanceofExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
+            (yyval.expr) = new IntersectExceptExpr(
+                LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
 
   case 388:
 
-/* Line 690 of lalr1.cc  */
-#line 3757 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3761 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6611,10 +6597,10 @@
 
   case 389:
 
-/* Line 690 of lalr1.cc  */
-#line 3761 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3765 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new TreatExpr(
+            (yyval.expr) = new InstanceofExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
             );
         }
@@ -6622,8 +6608,8 @@
 
   case 390:
 
-/* Line 690 of lalr1.cc  */
-#line 3771 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3775 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6631,19 +6617,19 @@
 
   case 391:
 
-/* Line 690 of lalr1.cc  */
-#line 3775 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3779 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CastableExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
+            (yyval.expr) = new TreatExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
             );
         }
     break;
 
   case 392:
 
-/* Line 690 of lalr1.cc  */
-#line 3785 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3789 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6651,10 +6637,10 @@
 
   case 393:
 
-/* Line 690 of lalr1.cc  */
-#line 3789 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3793 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CastExpr(
+            (yyval.expr) = new CastableExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
             );
         }
@@ -6662,71 +6648,91 @@
 
   case 394:
 
-/* Line 690 of lalr1.cc  */
-#line 3799 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3803 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(1) - (1)].node)), false);
-    }
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
     break;
 
   case 395:
 
-/* Line 690 of lalr1.cc  */
-#line 3803 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3807 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(2) - (1)].node)), true);
-    }
+            (yyval.expr) = new CastExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
+            );
+        }
     break;
 
   case 396:
 
-/* Line 690 of lalr1.cc  */
-#line 3812 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3817 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
+      (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(1) - (1)].node)), false);
+    }
     break;
 
   case 397:
 
-/* Line 690 of lalr1.cc  */
-#line 3816 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3821 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
-        }
+      (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(2) - (1)].node)), true);
+    }
     break;
 
   case 398:
 
-/* Line 690 of lalr1.cc  */
-#line 3824 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3830 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SignList( LOC((yyloc)), true );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 399:
 
-/* Line 690 of lalr1.cc  */
-#line 3828 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3834 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SignList( LOC((yyloc)), false );
+            (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
   case 400:
 
-/* Line 690 of lalr1.cc  */
-#line 3832 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3842 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            (yyval.node) = new SignList( LOC((yyloc)), true );
         }
     break;
 
   case 401:
 
-/* Line 690 of lalr1.cc  */
-#line 3836 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3846 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new SignList( LOC((yyloc)), false );
+        }
+    break;
+
+  case 402:
+
+/* Line 678 of lalr1.cc  */
+#line 3850 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 403:
+
+/* Line 678 of lalr1.cc  */
+#line 3854 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6734,28 +6740,10 @@
         }
     break;
 
-  case 402:
-
-/* Line 690 of lalr1.cc  */
-#line 3846 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 403:
-
-/* Line 690 of lalr1.cc  */
-#line 3850 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 404:
 
-/* Line 690 of lalr1.cc  */
-#line 3854 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3864 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6763,134 +6751,152 @@
 
   case 405:
 
-/* Line 690 of lalr1.cc  */
-#line 3861 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3868 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 406:
+
+/* Line 678 of lalr1.cc  */
+#line 3872 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 407:
+
+/* Line 678 of lalr1.cc  */
+#line 3879 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
       }
     break;
 
-  case 406:
+  case 408:
 
-/* Line 690 of lalr1.cc  */
-#line 3866 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3884 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
         (yyval.expr) = new SimpleMapExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
       }
     break;
 
-  case 407:
+  case 409:
 
-/* Line 690 of lalr1.cc  */
-#line 3874 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3892 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
     break;
 
-  case 408:
+  case 410:
 
-/* Line 690 of lalr1.cc  */
-#line 3878 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3896 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
     break;
 
-  case 409:
+  case 411:
 
-/* Line 690 of lalr1.cc  */
-#line 3882 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3900 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
     break;
 
-  case 410:
+  case 412:
 
-/* Line 690 of lalr1.cc  */
-#line 3886 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3904 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
     break;
 
-  case 411:
+  case 413:
 
-/* Line 690 of lalr1.cc  */
-#line 3890 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3908 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
     break;
 
-  case 412:
+  case 414:
 
-/* Line 690 of lalr1.cc  */
-#line 3894 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3912 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
     break;
 
-  case 413:
+  case 415:
 
-/* Line 690 of lalr1.cc  */
-#line 3902 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3920 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
         }
     break;
 
-  case 414:
+  case 416:
 
-/* Line 690 of lalr1.cc  */
-#line 3906 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3924 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
         }
     break;
 
-  case 415:
+  case 417:
 
-/* Line 690 of lalr1.cc  */
-#line 3910 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3928 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
         }
     break;
 
-  case 416:
+  case 418:
 
-/* Line 690 of lalr1.cc  */
-#line 3918 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3936 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 417:
+  case 419:
 
-/* Line 690 of lalr1.cc  */
-#line 3922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3940 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 418:
+  case 420:
 
-/* Line 690 of lalr1.cc  */
-#line 3926 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3944 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 419:
+  case 421:
 
-/* Line 690 of lalr1.cc  */
-#line 3930 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3948 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr(
                 LOC((yyloc)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (3)].node))->get_name(), (yysemantic_stack_[(6) - (5)].expr)
@@ -6899,10 +6905,10 @@
         }
     break;
 
-  case 420:
+  case 422:
 
-/* Line 690 of lalr1.cc  */
-#line 3941 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3959 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6910,10 +6916,10 @@
         }
     break;
 
-  case 421:
+  case 423:
 
-/* Line 690 of lalr1.cc  */
-#line 3947 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3965 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(4) - (1)].node)), (yysemantic_stack_[(4) - (3)].expr)
@@ -6921,10 +6927,10 @@
         }
     break;
 
-  case 422:
+  case 424:
 
-/* Line 690 of lalr1.cc  */
-#line 3957 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3975 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6932,10 +6938,10 @@
         }
     break;
 
-  case 423:
+  case 425:
 
-/* Line 690 of lalr1.cc  */
-#line 3963 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3981 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if ( PragmaList *pl = dynamic_cast<PragmaList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -6943,46 +6949,46 @@
         }
     break;
 
-  case 424:
+  case 426:
 
-/* Line 690 of lalr1.cc  */
-#line 3973 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3991 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
         }
     break;
 
-  case 425:
+  case 427:
 
-/* Line 690 of lalr1.cc  */
-#line 3977 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3995 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
     break;
 
-  case 426:
+  case 428:
 
-/* Line 690 of lalr1.cc  */
-#line 3981 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3999 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
     break;
 
-  case 427:
+  case 429:
 
-/* Line 690 of lalr1.cc  */
-#line 4019 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4037 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new PathExpr(LOC((yyloc)), ParseConstants::path_leading_lone_slash, NULL);
     }
     break;
 
-  case 428:
+  case 430:
 
-/* Line 690 of lalr1.cc  */
-#line 4023 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4041 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -6994,10 +7000,10 @@
     }
     break;
 
-  case 429:
+  case 431:
 
-/* Line 690 of lalr1.cc  */
-#line 4033 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4051 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -7009,10 +7015,10 @@
     }
     break;
 
-  case 430:
+  case 432:
 
-/* Line 690 of lalr1.cc  */
-#line 4043 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4061 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (!rpe ?
@@ -7021,19 +7027,19 @@
     }
     break;
 
-  case 431:
+  case 433:
 
-/* Line 690 of lalr1.cc  */
-#line 4056 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4074 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
-  case 432:
+  case 434:
 
-/* Line 690 of lalr1.cc  */
-#line 4065 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4083 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -7045,46 +7051,46 @@
     }
     break;
 
-  case 433:
+  case 435:
 
-/* Line 690 of lalr1.cc  */
-#line 4075 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4093 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
-  case 434:
+  case 436:
 
-/* Line 690 of lalr1.cc  */
-#line 4079 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4097 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slashslash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
-  case 435:
-
-/* Line 690 of lalr1.cc  */
-#line 4088 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 436:
-
-/* Line 690 of lalr1.cc  */
-#line 4092 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 437:
 
-/* Line 690 of lalr1.cc  */
-#line 4101 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4106 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 438:
+
+/* Line 678 of lalr1.cc  */
+#line 4110 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 439:
+
+/* Line 678 of lalr1.cc  */
+#line 4119 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ForwardStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7092,10 +7098,10 @@
         }
     break;
 
-  case 438:
+  case 440:
 
-/* Line 690 of lalr1.cc  */
-#line 4107 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4125 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7105,10 +7111,10 @@
         }
     break;
 
-  case 439:
+  case 441:
 
-/* Line 690 of lalr1.cc  */
-#line 4115 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4133 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ReverseStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7116,10 +7122,10 @@
         }
     break;
 
-  case 440:
+  case 442:
 
-/* Line 690 of lalr1.cc  */
-#line 4121 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4139 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7129,10 +7135,10 @@
         }
     break;
 
-  case 441:
+  case 443:
 
-/* Line 690 of lalr1.cc  */
-#line 4133 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4151 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<ForwardAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node)
@@ -7140,10 +7146,10 @@
         }
     break;
 
-  case 442:
+  case 444:
 
-/* Line 690 of lalr1.cc  */
-#line 4139 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4157 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<AbbrevForwardStep*>((yysemantic_stack_[(1) - (1)].node))
@@ -7151,46 +7157,46 @@
         }
     break;
 
-  case 443:
+  case 445:
 
-/* Line 690 of lalr1.cc  */
-#line 4149 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4167 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_child );
         }
     break;
 
-  case 444:
+  case 446:
 
-/* Line 690 of lalr1.cc  */
-#line 4153 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4171 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_descendant);
         }
     break;
 
-  case 445:
+  case 447:
 
-/* Line 690 of lalr1.cc  */
-#line 4157 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4175 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_attribute );
         }
     break;
 
-  case 446:
+  case 448:
 
-/* Line 690 of lalr1.cc  */
-#line 4161 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4179 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_self );
         }
     break;
 
-  case 447:
+  case 449:
 
-/* Line 690 of lalr1.cc  */
-#line 4165 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4183 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_descendant_or_self
@@ -7198,10 +7204,10 @@
         }
     break;
 
-  case 448:
+  case 450:
 
-/* Line 690 of lalr1.cc  */
-#line 4171 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4189 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_following_sibling
@@ -7209,46 +7215,46 @@
         }
     break;
 
-  case 449:
+  case 451:
 
-/* Line 690 of lalr1.cc  */
-#line 4177 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4195 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_following );
         }
     break;
 
-  case 450:
+  case 452:
 
-/* Line 690 of lalr1.cc  */
-#line 4185 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4203 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), false );
         }
     break;
 
-  case 451:
+  case 453:
 
-/* Line 690 of lalr1.cc  */
-#line 4189 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4207 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].node), true );
         }
     break;
 
-  case 452:
+  case 454:
 
-/* Line 690 of lalr1.cc  */
-#line 4197 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4215 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseStep( LOC((yyloc)), dynamic_cast<ReverseAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node) );
         }
     break;
 
-  case 453:
+  case 455:
 
-/* Line 690 of lalr1.cc  */
-#line 4201 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4219 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             ReverseAxis *ra = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_parent
@@ -7257,28 +7263,28 @@
         }
     break;
 
-  case 454:
+  case 456:
 
-/* Line 690 of lalr1.cc  */
-#line 4212 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4230 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_parent );
         }
     break;
 
-  case 455:
+  case 457:
 
-/* Line 690 of lalr1.cc  */
-#line 4216 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4234 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_ancestor );
         }
     break;
 
-  case 456:
+  case 458:
 
-/* Line 690 of lalr1.cc  */
-#line 4220 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4238 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_preceding_sibling
@@ -7286,19 +7292,19 @@
         }
     break;
 
-  case 457:
+  case 459:
 
-/* Line 690 of lalr1.cc  */
-#line 4226 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4244 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_preceding );
         }
     break;
 
-  case 458:
+  case 460:
 
-/* Line 690 of lalr1.cc  */
-#line 4230 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4248 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_ancestor_or_self
@@ -7306,118 +7312,118 @@
         }
     break;
 
-  case 459:
-
-/* Line 690 of lalr1.cc  */
-#line 4244 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 460:
-
-/* Line 690 of lalr1.cc  */
-#line 4248 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 461:
 
-/* Line 690 of lalr1.cc  */
-#line 4256 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4262 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 462:
+
+/* Line 678 of lalr1.cc  */
+#line 4266 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 463:
+
+/* Line 678 of lalr1.cc  */
+#line 4274 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 462:
+  case 464:
 
-/* Line 690 of lalr1.cc  */
-#line 4260 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4278 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 463:
+  case 465:
 
-/* Line 690 of lalr1.cc  */
-#line 4270 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4288 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
     break;
 
-  case 464:
+  case 466:
 
-/* Line 690 of lalr1.cc  */
-#line 4274 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4292 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
     break;
 
-  case 465:
+  case 467:
 
-/* Line 690 of lalr1.cc  */
-#line 4278 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4296 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
     break;
 
-  case 466:
+  case 468:
 
-/* Line 690 of lalr1.cc  */
-#line 4282 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4300 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
     break;
 
-  case 467:
+  case 469:
 
-/* Line 690 of lalr1.cc  */
-#line 4291 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4309 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
     break;
 
-  case 468:
+  case 470:
 
-/* Line 690 of lalr1.cc  */
-#line 4295 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4313 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new FilterExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (2)].node)));
      }
     break;
 
-  case 469:
+  case 471:
 
-/* Line 690 of lalr1.cc  */
-#line 4299 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4317 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr));
      }
     break;
 
-  case 470:
+  case 472:
 
-/* Line 690 of lalr1.cc  */
-#line 4303 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4321 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node)));
      }
     break;
 
-  case 471:
+  case 473:
 
-/* Line 690 of lalr1.cc  */
-#line 4311 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4329 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             PredicateList *pl = new PredicateList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7425,10 +7431,10 @@
         }
     break;
 
-  case 472:
+  case 474:
 
-/* Line 690 of lalr1.cc  */
-#line 4317 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4335 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if ( PredicateList *pl = dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(2) - (2)].expr)) );
@@ -7436,37 +7442,19 @@
         }
     break;
 
-  case 473:
+  case 475:
 
-/* Line 690 of lalr1.cc  */
-#line 4327 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4345 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
         }
     break;
 
-  case 474:
-
-/* Line 690 of lalr1.cc  */
-#line 4335 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 475:
-
-/* Line 690 of lalr1.cc  */
-#line 4339 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 476:
 
-/* Line 690 of lalr1.cc  */
-#line 4343 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4353 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7474,8 +7462,8 @@
 
   case 477:
 
-/* Line 690 of lalr1.cc  */
-#line 4347 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4357 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7483,8 +7471,8 @@
 
   case 478:
 
-/* Line 690 of lalr1.cc  */
-#line 4351 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4361 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7492,8 +7480,8 @@
 
   case 479:
 
-/* Line 690 of lalr1.cc  */
-#line 4355 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4365 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7501,8 +7489,8 @@
 
   case 480:
 
-/* Line 690 of lalr1.cc  */
-#line 4359 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4369 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7510,8 +7498,8 @@
 
   case 481:
 
-/* Line 690 of lalr1.cc  */
-#line 4363 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4373 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7519,8 +7507,8 @@
 
   case 482:
 
-/* Line 690 of lalr1.cc  */
-#line 4367 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4377 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7528,8 +7516,8 @@
 
   case 483:
 
-/* Line 690 of lalr1.cc  */
-#line 4371 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4381 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7537,8 +7525,8 @@
 
   case 484:
 
-/* Line 690 of lalr1.cc  */
-#line 4376 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4385 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7546,8 +7534,8 @@
 
   case 485:
 
-/* Line 690 of lalr1.cc  */
-#line 4380 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4389 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7555,8 +7543,8 @@
 
   case 486:
 
-/* Line 690 of lalr1.cc  */
-#line 4384 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4394 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7564,8 +7552,8 @@
 
   case 487:
 
-/* Line 690 of lalr1.cc  */
-#line 4388 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4398 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7573,26 +7561,44 @@
 
   case 488:
 
-/* Line 690 of lalr1.cc  */
-#line 4396 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4402 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 489:
 
-/* Line 690 of lalr1.cc  */
-#line 4400 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4406 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 490:
 
-/* Line 690 of lalr1.cc  */
-#line 4408 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4414 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 491:
+
+/* Line 678 of lalr1.cc  */
+#line 4418 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 492:
+
+/* Line 678 of lalr1.cc  */
+#line 4426 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7601,10 +7607,10 @@
         }
     break;
 
-  case 491:
+  case 493:
 
-/* Line 690 of lalr1.cc  */
-#line 4415 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4433 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7613,10 +7619,10 @@
         }
     break;
 
-  case 492:
+  case 494:
 
-/* Line 690 of lalr1.cc  */
-#line 4422 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4440 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7625,73 +7631,73 @@
         }
     break;
 
-  case 493:
+  case 495:
 
-/* Line 690 of lalr1.cc  */
-#line 4433 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4451 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
     break;
 
-  case 494:
+  case 496:
 
-/* Line 690 of lalr1.cc  */
-#line 4441 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4459 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
     break;
 
-  case 495:
+  case 497:
 
-/* Line 690 of lalr1.cc  */
-#line 4445 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4463 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 496:
+  case 498:
 
-/* Line 690 of lalr1.cc  */
-#line 4453 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4471 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
     break;
 
-  case 497:
+  case 499:
 
-/* Line 690 of lalr1.cc  */
-#line 4461 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4479 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 498:
+  case 500:
 
-/* Line 690 of lalr1.cc  */
-#line 4469 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4487 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 499:
+  case 501:
 
-/* Line 690 of lalr1.cc  */
-#line 4523 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4541 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL );
         }
     break;
 
-  case 500:
+  case 502:
 
-/* Line 690 of lalr1.cc  */
-#line 4527 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4545 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall(
                 LOC((yyloc)),
@@ -7701,10 +7707,10 @@
         }
     break;
 
-  case 501:
+  case 503:
 
-/* Line 690 of lalr1.cc  */
-#line 4540 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4558 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             ArgList *al = new ArgList( LOC((yyloc)) );
             al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
@@ -7712,10 +7718,10 @@
         }
     break;
 
-  case 502:
+  case 504:
 
-/* Line 690 of lalr1.cc  */
-#line 4546 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4564 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if ( ArgList *al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)) )
                 al->push_back( (yysemantic_stack_[(3) - (3)].expr) );
@@ -7723,28 +7729,10 @@
         }
     break;
 
-  case 503:
-
-/* Line 690 of lalr1.cc  */
-#line 4556 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 504:
-
-/* Line 690 of lalr1.cc  */
-#line 4560 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 505:
 
-/* Line 690 of lalr1.cc  */
-#line 4568 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4574 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7752,8 +7740,8 @@
 
   case 506:
 
-/* Line 690 of lalr1.cc  */
-#line 4572 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4578 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7761,8 +7749,8 @@
 
   case 507:
 
-/* Line 690 of lalr1.cc  */
-#line 4576 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4586 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7770,8 +7758,26 @@
 
   case 508:
 
-/* Line 690 of lalr1.cc  */
-#line 4584 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4590 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 509:
+
+/* Line 678 of lalr1.cc  */
+#line 4594 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 510:
+
+/* Line 678 of lalr1.cc  */
+#line 4602 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7783,10 +7789,10 @@
         }
     break;
 
-  case 509:
+  case 511:
 
-/* Line 690 of lalr1.cc  */
-#line 4594 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4612 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7798,10 +7804,10 @@
         }
     break;
 
-  case 510:
+  case 512:
 
-/* Line 690 of lalr1.cc  */
-#line 4604 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4622 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(8) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(8) - (6)].expr))->get_qname())
             {
@@ -7820,10 +7826,10 @@
         }
     break;
 
-  case 511:
+  case 513:
 
-/* Line 690 of lalr1.cc  */
-#line 4621 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4639 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
             {
@@ -7842,10 +7848,10 @@
         }
     break;
 
-  case 512:
+  case 514:
 
-/* Line 690 of lalr1.cc  */
-#line 4638 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4656 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
             {
@@ -7864,10 +7870,10 @@
         }
     break;
 
-  case 513:
+  case 515:
 
-/* Line 690 of lalr1.cc  */
-#line 4655 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4673 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(10) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr))->get_qname())
             {
@@ -7886,10 +7892,10 @@
         }
     break;
 
-  case 514:
+  case 516:
 
-/* Line 690 of lalr1.cc  */
-#line 4677 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4695 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
             decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7897,10 +7903,10 @@
         }
     break;
 
-  case 515:
+  case 517:
 
-/* Line 690 of lalr1.cc  */
-#line 4683 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4701 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( decl )
@@ -7909,10 +7915,10 @@
         }
     break;
 
-  case 516:
+  case 518:
 
-/* Line 690 of lalr1.cc  */
-#line 4694 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4712 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
             dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7920,10 +7926,10 @@
         }
     break;
 
-  case 517:
+  case 519:
 
-/* Line 690 of lalr1.cc  */
-#line 4700 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4718 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
             if ( dal )
@@ -7932,10 +7938,10 @@
         }
     break;
 
-  case 518:
+  case 520:
 
-/* Line 690 of lalr1.cc  */
-#line 4711 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4729 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttr(
                 LOC((yyloc)),
@@ -7945,114 +7951,114 @@
         }
     break;
 
-  case 521:
+  case 523:
 
-/* Line 690 of lalr1.cc  */
-#line 4728 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4746 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 522:
+  case 524:
 
-/* Line 690 of lalr1.cc  */
-#line 4733 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4751 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 523:
+  case 525:
 
-/* Line 690 of lalr1.cc  */
-#line 4742 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4760 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
         }
     break;
 
-  case 524:
-
-/* Line 690 of lalr1.cc  */
-#line 4746 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 525:
-
-/* Line 690 of lalr1.cc  */
-#line 4753 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = qacl;
-        }
-    break;
-
   case 526:
 
-/* Line 690 of lalr1.cc  */
-#line 4759 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4764 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
-            (yyval.node) = qacl;
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 527:
 
-/* Line 690 of lalr1.cc  */
-#line 4765 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4771 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl =
-                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
-            if ( qacl )
-                qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
+            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
+            (yyval.node) = qacl;
         }
     break;
 
   case 528:
 
-/* Line 690 of lalr1.cc  */
-#line 4773 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4777 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl =
-                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
-            if ( qacl )
-                qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(2) - (2)].node)) );
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
+            qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
+            (yyval.node) = qacl;
         }
     break;
 
   case 529:
 
-/* Line 690 of lalr1.cc  */
-#line 4785 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4783 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+            QuoteAttrContentList *qacl =
+                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
+            if ( qacl )
+                qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
   case 530:
 
-/* Line 690 of lalr1.cc  */
-#line 4789 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4791 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            QuoteAttrContentList *qacl =
+                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
+            if ( qacl )
+                qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(2) - (2)].node)) );
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
   case 531:
 
-/* Line 690 of lalr1.cc  */
-#line 4796 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4803 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+        }
+    break;
+
+  case 532:
+
+/* Line 678 of lalr1.cc  */
+#line 4807 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 533:
+
+/* Line 678 of lalr1.cc  */
+#line 4814 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -8060,10 +8066,10 @@
         }
     break;
 
-  case 532:
+  case 534:
 
-/* Line 690 of lalr1.cc  */
-#line 4802 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4820 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -8071,10 +8077,10 @@
         }
     break;
 
-  case 533:
+  case 535:
 
-/* Line 690 of lalr1.cc  */
-#line 4808 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4826 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if (aacl)
@@ -8083,10 +8089,10 @@
         }
     break;
 
-  case 534:
+  case 536:
 
-/* Line 690 of lalr1.cc  */
-#line 4815 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4833 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( aacl )
@@ -8095,19 +8101,19 @@
         }
     break;
 
-  case 535:
+  case 537:
 
-/* Line 690 of lalr1.cc  */
-#line 4826 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4844 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 536:
+  case 538:
 
-/* Line 690 of lalr1.cc  */
-#line 4830 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4848 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -8115,19 +8121,19 @@
         }
     break;
 
-  case 537:
+  case 539:
 
-/* Line 690 of lalr1.cc  */
-#line 4840 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4858 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 538:
+  case 540:
 
-/* Line 690 of lalr1.cc  */
-#line 4844 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4862 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -8135,48 +8141,48 @@
         }
     break;
 
-  case 539:
+  case 541:
 
-/* Line 690 of lalr1.cc  */
-#line 4854 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4872 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
         }
     break;
 
-  case 540:
+  case 542:
 
-/* Line 690 of lalr1.cc  */
-#line 4858 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4876 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 541:
+  case 543:
 
-/* Line 690 of lalr1.cc  */
-#line 4862 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4880 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             rchandle<CDataSection> cdata_h = dynamic_cast<CDataSection*>((yysemantic_stack_[(1) - (1)].expr));
             (yyval.expr) = new DirElemContent( LOC((yyloc)), cdata_h );
         }
     break;
 
-  case 542:
+  case 544:
 
-/* Line 690 of lalr1.cc  */
-#line 4867 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4885 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             rchandle<CommonContent> cont_h = dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr));
             (yyval.expr) = new DirElemContent( LOC((yyloc)), cont_h );
         }
     break;
 
-  case 543:
+  case 545:
 
-/* Line 690 of lalr1.cc  */
-#line 4876 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4894 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval))
@@ -8184,10 +8190,10 @@
         }
     break;
 
-  case 544:
+  case 546:
 
-/* Line 690 of lalr1.cc  */
-#line 4882 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4900 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_lbrace
@@ -8195,10 +8201,10 @@
         }
     break;
 
-  case 545:
+  case 547:
 
-/* Line 690 of lalr1.cc  */
-#line 4888 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4906 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_rbrace
@@ -8206,82 +8212,64 @@
         }
     break;
 
-  case 546:
+  case 548:
 
-/* Line 690 of lalr1.cc  */
-#line 4894 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4912 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
         }
     break;
 
-  case 547:
+  case 549:
 
-/* Line 690 of lalr1.cc  */
-#line 4902 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4920 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 548:
+  case 550:
 
-/* Line 690 of lalr1.cc  */
-#line 4907 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4925 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
     break;
 
-  case 549:
+  case 551:
 
-/* Line 690 of lalr1.cc  */
-#line 4915 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4933 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 550:
+  case 552:
 
-/* Line 690 of lalr1.cc  */
-#line 4920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4938 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
     break;
 
-  case 551:
+  case 553:
 
-/* Line 690 of lalr1.cc  */
-#line 4928 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4946 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 552:
-
-/* Line 690 of lalr1.cc  */
-#line 4936 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 553:
-
-/* Line 690 of lalr1.cc  */
-#line 4941 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 554:
 
-/* Line 690 of lalr1.cc  */
-#line 4946 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4954 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8289,8 +8277,8 @@
 
   case 555:
 
-/* Line 690 of lalr1.cc  */
-#line 4951 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4959 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8298,8 +8286,8 @@
 
   case 556:
 
-/* Line 690 of lalr1.cc  */
-#line 4956 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4964 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8307,8 +8295,8 @@
 
   case 557:
 
-/* Line 690 of lalr1.cc  */
-#line 4961 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4969 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8316,212 +8304,212 @@
 
   case 558:
 
-/* Line 690 of lalr1.cc  */
-#line 4970 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4974 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 559:
 
-/* Line 690 of lalr1.cc  */
-#line 4978 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4979 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 560:
 
-/* Line 690 of lalr1.cc  */
-#line 4982 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4988 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 561:
 
-/* Line 690 of lalr1.cc  */
-#line 4999 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4996 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-          (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
+            (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
         }
     break;
 
   case 562:
 
-/* Line 690 of lalr1.cc  */
-#line 5003 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5000 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 563:
 
-/* Line 690 of lalr1.cc  */
-#line 5011 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5017 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+          (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
   case 564:
 
-/* Line 690 of lalr1.cc  */
-#line 5019 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5021 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+            (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 565:
 
-/* Line 690 of lalr1.cc  */
-#line 5027 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5029 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr) );
+            (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 566:
 
-/* Line 690 of lalr1.cc  */
-#line 5031 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5037 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 567:
 
-/* Line 690 of lalr1.cc  */
-#line 5039 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5045 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
-    }
+            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr) );
+        }
     break;
 
   case 568:
 
-/* Line 690 of lalr1.cc  */
-#line 5047 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5049 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
+            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 569:
 
-/* Line 690 of lalr1.cc  */
-#line 5051 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5057 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
-        }
+      (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
+    }
     break;
 
   case 570:
 
-/* Line 690 of lalr1.cc  */
-#line 5055 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5065 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
         }
     break;
 
   case 571:
 
-/* Line 690 of lalr1.cc  */
-#line 5090 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5069 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_optionally
-            );
+            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
         }
     break;
 
   case 572:
 
-/* Line 690 of lalr1.cc  */
-#line 5096 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5073 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_zero_or_more
-            );
+            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 573:
 
-/* Line 690 of lalr1.cc  */
-#line 5102 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5108 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_one_or_more
+                LOC((yyloc)), ParseConstants::occurs_optionally
             );
         }
     break;
 
   case 574:
 
-/* Line 690 of lalr1.cc  */
-#line 5112 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5114 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_zero_or_more
+            );
         }
     break;
 
   case 575:
 
-/* Line 690 of lalr1.cc  */
-#line 5116 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5120 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_one_or_more
+            );
         }
     break;
 
   case 576:
 
-/* Line 690 of lalr1.cc  */
-#line 5120 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5130 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ItemType( LOC((yyloc)), true );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 577:
 
-/* Line 690 of lalr1.cc  */
-#line 5124 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5134 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 578:
 
-/* Line 690 of lalr1.cc  */
-#line 5128 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5138 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
     break;
 
   case 579:
 
-/* Line 690 of lalr1.cc  */
-#line 5132 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5142 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
     break;
 
   case 580:
 
-/* Line 690 of lalr1.cc  */
-#line 5136 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5146 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8529,8 +8517,26 @@
 
   case 581:
 
-/* Line 690 of lalr1.cc  */
-#line 5143 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5150 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 582:
+
+/* Line 678 of lalr1.cc  */
+#line 5154 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 583:
+
+/* Line 678 of lalr1.cc  */
+#line 5161 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = new TypeList(LOC ((yyloc)));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
@@ -8538,10 +8544,10 @@
         }
     break;
 
-  case 582:
+  case 584:
 
-/* Line 690 of lalr1.cc  */
-#line 5149 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5167 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = dynamic_cast<TypeList *>((yysemantic_stack_[(3) - (1)].node));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(3) - (3)].node)));
@@ -8549,46 +8555,28 @@
         }
     break;
 
-  case 583:
-
-/* Line 690 of lalr1.cc  */
-#line 5159 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = new AtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
-    }
-    break;
-
-  case 584:
-
-/* Line 690 of lalr1.cc  */
-#line 5167 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = new SimpleType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
-    }
-    break;
-
   case 585:
 
-/* Line 690 of lalr1.cc  */
-#line 5175 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5177 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
+      (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
+    }
     break;
 
   case 586:
 
-/* Line 690 of lalr1.cc  */
-#line 5179 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5185 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
+      (yyval.node) = new SimpleType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
+    }
     break;
 
   case 587:
 
-/* Line 690 of lalr1.cc  */
-#line 5183 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5193 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8596,8 +8584,8 @@
 
   case 588:
 
-/* Line 690 of lalr1.cc  */
-#line 5187 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5197 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8605,8 +8593,8 @@
 
   case 589:
 
-/* Line 690 of lalr1.cc  */
-#line 5191 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5201 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8614,8 +8602,8 @@
 
   case 590:
 
-/* Line 690 of lalr1.cc  */
-#line 5195 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5205 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8623,8 +8611,8 @@
 
   case 591:
 
-/* Line 690 of lalr1.cc  */
-#line 5199 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5209 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8632,8 +8620,8 @@
 
   case 592:
 
-/* Line 690 of lalr1.cc  */
-#line 5203 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5213 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8641,8 +8629,8 @@
 
   case 593:
 
-/* Line 690 of lalr1.cc  */
-#line 5207 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5217 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8650,35 +8638,53 @@
 
   case 594:
 
-/* Line 690 of lalr1.cc  */
-#line 5215 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5221 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 595:
+
+/* Line 678 of lalr1.cc  */
+#line 5225 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 596:
+
+/* Line 678 of lalr1.cc  */
+#line 5233 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AnyKindTest( LOC((yyloc)) );
         }
     break;
 
-  case 595:
+  case 597:
 
-/* Line 690 of lalr1.cc  */
-#line 5223 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5241 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)) );
         }
     break;
 
-  case 596:
+  case 598:
 
-/* Line 690 of lalr1.cc  */
-#line 5227 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5245 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)) );
         }
     break;
 
-  case 597:
+  case 599:
 
-/* Line 690 of lalr1.cc  */
-#line 5231 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5249 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest(
                 LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node))
@@ -8686,259 +8692,259 @@
         }
     break;
 
-  case 598:
+  case 600:
 
-/* Line 690 of lalr1.cc  */
-#line 5241 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5259 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new TextTest( LOC((yyloc)) );
         }
     break;
 
-  case 599:
+  case 601:
 
-/* Line 690 of lalr1.cc  */
-#line 5249 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5267 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new CommentTest( LOC((yyloc)));
         }
     break;
 
-  case 600:
+  case 602:
 
-/* Line 690 of lalr1.cc  */
-#line 5257 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5275 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
     break;
 
-  case 601:
-
-/* Line 690 of lalr1.cc  */
-#line 5261 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
-  case 602:
-
-/* Line 690 of lalr1.cc  */
-#line 5265 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
   case 603:
 
-/* Line 690 of lalr1.cc  */
-#line 5273 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5279 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
   case 604:
 
-/* Line 690 of lalr1.cc  */
-#line 5277 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5283 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
-            );
+            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
   case 605:
 
-/* Line 690 of lalr1.cc  */
-#line 5283 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5291 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
-            );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 606:
 
-/* Line 690 of lalr1.cc  */
-#line 5289 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5295 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
+            );
         }
     break;
 
   case 607:
 
-/* Line 690 of lalr1.cc  */
-#line 5293 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5301 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AttributeTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
             );
         }
     break;
 
   case 608:
 
-/* Line 690 of lalr1.cc  */
-#line 5303 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5307 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 609:
 
-/* Line 690 of lalr1.cc  */
-#line 5311 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5311 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
+            );
         }
     break;
 
   case 610:
 
-/* Line 690 of lalr1.cc  */
-#line 5315 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5321 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
-            );
+            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 611:
 
-/* Line 690 of lalr1.cc  */
-#line 5321 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5329 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                false
-            );
+            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
         }
     break;
 
   case 612:
 
-/* Line 690 of lalr1.cc  */
-#line 5330 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5333 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                true
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
             );
         }
     break;
 
   case 613:
 
-/* Line 690 of lalr1.cc  */
-#line 5339 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5339 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, NULL, true
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                false
             );
         }
     break;
 
   case 614:
 
-/* Line 690 of lalr1.cc  */
-#line 5345 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5348 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                true
             );
         }
     break;
 
   case 615:
 
-/* Line 690 of lalr1.cc  */
-#line 5351 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5357 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+                LOC((yyloc)), NULL, NULL, true
             );
         }
     break;
 
   case 616:
 
-/* Line 690 of lalr1.cc  */
-#line 5361 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5363 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
+            );
         }
     break;
 
   case 617:
 
-/* Line 690 of lalr1.cc  */
-#line 5378 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5369 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+            );
         }
     break;
 
   case 618:
 
-/* Line 690 of lalr1.cc  */
-#line 5385 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5379 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
+            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 619:
 
-/* Line 690 of lalr1.cc  */
-#line 5400 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5396 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
   case 620:
 
-/* Line 690 of lalr1.cc  */
-#line 5436 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5403 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
+        }
     break;
 
   case 621:
 
-/* Line 690 of lalr1.cc  */
-#line 5440 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5418 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
+            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
+        }
     break;
 
   case 622:
 
-/* Line 690 of lalr1.cc  */
-#line 5448 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5454 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 623:
+
+/* Line 678 of lalr1.cc  */
+#line 5458 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 624:
+
+/* Line 678 of lalr1.cc  */
+#line 5466 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new LiteralFunctionItem(LOC ((yyloc)), dynamic_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].ival));
     }
     break;
 
-  case 623:
+  case 625:
 
-/* Line 690 of lalr1.cc  */
-#line 5456 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5474 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -8948,46 +8954,46 @@
     }
     break;
 
-  case 624:
-
-/* Line 690 of lalr1.cc  */
-#line 5468 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
-  case 625:
-
-/* Line 690 of lalr1.cc  */
-#line 5472 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 626:
 
-/* Line 690 of lalr1.cc  */
-#line 5480 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5486 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 627:
+
+/* Line 678 of lalr1.cc  */
+#line 5490 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 628:
+
+/* Line 678 of lalr1.cc  */
+#line 5498 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
     }
     break;
 
-  case 627:
+  case 629:
 
-/* Line 690 of lalr1.cc  */
-#line 5488 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5506 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
         }
     break;
 
-  case 628:
+  case 630:
 
-/* Line 690 of lalr1.cc  */
-#line 5492 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5510 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
               dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
@@ -8995,19 +9001,19 @@
         }
     break;
 
-  case 629:
+  case 631:
 
-/* Line 690 of lalr1.cc  */
-#line 5503 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5521 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 630:
+  case 632:
 
-/* Line 690 of lalr1.cc  */
-#line 5520 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5538 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::strict_validation
@@ -9015,10 +9021,10 @@
         }
     break;
 
-  case 631:
+  case 633:
 
-/* Line 690 of lalr1.cc  */
-#line 5526 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5544 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::lax_validation
@@ -9026,10 +9032,10 @@
         }
     break;
 
-  case 632:
+  case 634:
 
-/* Line 690 of lalr1.cc  */
-#line 5532 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5550 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::skip_validation
@@ -9037,81 +9043,81 @@
         }
     break;
 
-  case 633:
-
-/* Line 690 of lalr1.cc  */
-#line 5542 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
-        }
-    break;
-
-  case 634:
-
-/* Line 690 of lalr1.cc  */
-#line 5546 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
-        }
-    break;
-
   case 635:
 
-/* Line 690 of lalr1.cc  */
-#line 5552 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5560 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 636:
 
-/* Line 690 of lalr1.cc  */
-#line 5558 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5564 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+            (yyval.expr) = new InsertExpr(
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
         }
     break;
 
   case 637:
 
-/* Line 690 of lalr1.cc  */
-#line 5562 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5570 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+                LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
             );
         }
     break;
 
   case 638:
 
-/* Line 690 of lalr1.cc  */
-#line 5568 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5576 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 639:
 
-/* Line 690 of lalr1.cc  */
-#line 5572 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5580 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
             );
         }
     break;
 
   case 640:
 
-/* Line 690 of lalr1.cc  */
-#line 5578 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5586 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+        }
+    break;
+
+  case 641:
+
+/* Line 678 of lalr1.cc  */
+#line 5590 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
+        }
+    break;
+
+  case 642:
+
+/* Line 678 of lalr1.cc  */
+#line 5596 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                   LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -9119,10 +9125,10 @@
         }
     break;
 
-  case 641:
+  case 643:
 
-/* Line 690 of lalr1.cc  */
-#line 5584 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5602 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)),
@@ -9131,39 +9137,39 @@
         }
     break;
 
-  case 642:
-
-/* Line 690 of lalr1.cc  */
-#line 5591 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
-            );
-        }
-    break;
-
-  case 643:
-
-/* Line 690 of lalr1.cc  */
-#line 5601 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
-        }
-    break;
-
   case 644:
 
-/* Line 690 of lalr1.cc  */
-#line 5606 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5609 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
         }
     break;
 
   case 645:
 
-/* Line 690 of lalr1.cc  */
-#line 5614 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5619 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 646:
+
+/* Line 678 of lalr1.cc  */
+#line 5624 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 647:
+
+/* Line 678 of lalr1.cc  */
+#line 5632 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::NODE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
@@ -9171,10 +9177,10 @@
         }
     break;
 
-  case 646:
+  case 648:
 
-/* Line 690 of lalr1.cc  */
-#line 5620 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5638 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::VALUE_OF_NODE, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -9182,29 +9188,29 @@
         }
     break;
 
-  case 647:
+  case 649:
 
-/* Line 690 of lalr1.cc  */
-#line 5630 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5648 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 648:
+  case 650:
 
-/* Line 690 of lalr1.cc  */
-#line 5652 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5670 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList *cvl = dynamic_cast<CopyVarList*>((yysemantic_stack_[(7) - (3)].expr));
       (yyval.expr) = new TransformExpr( LOC((yyloc)), cvl, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr) );
     }
     break;
 
-  case 649:
+  case 651:
 
-/* Line 690 of lalr1.cc  */
-#line 5661 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5679 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -9212,10 +9218,10 @@
     }
     break;
 
-  case 650:
+  case 652:
 
-/* Line 690 of lalr1.cc  */
-#line 5667 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5685 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = dynamic_cast<CopyVarList*>((yysemantic_stack_[(4) - (1)].expr));
       VarBinding* lBinding = dynamic_cast<VarBinding*>((yysemantic_stack_[(4) - (4)].expr));
@@ -9224,28 +9230,28 @@
     }
     break;
 
-  case 651:
+  case 653:
 
-/* Line 690 of lalr1.cc  */
-#line 5680 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5698 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new VarBinding(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
-  case 652:
+  case 654:
 
-/* Line 690 of lalr1.cc  */
-#line 5694 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5712 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 653:
+  case 655:
 
-/* Line 690 of lalr1.cc  */
-#line 5701 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5719 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -9253,10 +9259,10 @@
         }
     break;
 
-  case 654:
+  case 656:
 
-/* Line 690 of lalr1.cc  */
-#line 5707 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5725 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9265,29 +9271,29 @@
         }
     break;
 
-  case 655:
-
-/* Line 690 of lalr1.cc  */
-#line 5717 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-       (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
-       delete (yysemantic_stack_[(3) - (2)].name_test_list);
-    }
-    break;
-
-  case 656:
-
-/* Line 690 of lalr1.cc  */
-#line 5726 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
-    }
-    break;
-
   case 657:
 
-/* Line 690 of lalr1.cc  */
-#line 5734 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5735 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+       (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
+       delete (yysemantic_stack_[(3) - (2)].name_test_list);
+    }
+    break;
+
+  case 658:
+
+/* Line 678 of lalr1.cc  */
+#line 5744 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
+
+  case 659:
+
+/* Line 678 of lalr1.cc  */
+#line 5752 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9295,10 +9301,10 @@
         }
     break;
 
-  case 658:
+  case 660:
 
-/* Line 690 of lalr1.cc  */
-#line 5740 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5758 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9307,76 +9313,58 @@
         }
     break;
 
-  case 659:
+  case 661:
 
-/* Line 690 of lalr1.cc  */
-#line 5758 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5776 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTSelection( LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), (yysemantic_stack_[(2) - (2)].pos_filter_list) );
             delete (yysemantic_stack_[(2) - (2)].pos_filter_list);
         }
     break;
 
-  case 660:
+  case 662:
 
-/* Line 690 of lalr1.cc  */
-#line 5766 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5784 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
     break;
 
-  case 661:
+  case 663:
 
-/* Line 690 of lalr1.cc  */
-#line 5770 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5788 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
     break;
 
-  case 662:
+  case 664:
 
-/* Line 690 of lalr1.cc  */
-#line 5777 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5795 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = new FTSelection::pos_filter_list_t;
             (yyval.pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 663:
+  case 665:
 
-/* Line 690 of lalr1.cc  */
-#line 5782 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5800 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yysemantic_stack_[(2) - (1)].pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(2) - (2)].node)) );
             (yyval.pos_filter_list) = (yysemantic_stack_[(2) - (1)].pos_filter_list);
         }
     break;
 
-  case 664:
-
-/* Line 690 of lalr1.cc  */
-#line 5790 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 665:
-
-/* Line 690 of lalr1.cc  */
-#line 5794 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
-        }
-    break;
-
   case 666:
 
-/* Line 690 of lalr1.cc  */
-#line 5801 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5808 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9384,17 +9372,17 @@
 
   case 667:
 
-/* Line 690 of lalr1.cc  */
-#line 5805 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5812 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
+            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
   case 668:
 
-/* Line 690 of lalr1.cc  */
-#line 5812 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5819 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9402,17 +9390,17 @@
 
   case 669:
 
-/* Line 690 of lalr1.cc  */
-#line 5816 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5823 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+            (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
   case 670:
 
-/* Line 690 of lalr1.cc  */
-#line 5823 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5830 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9420,8 +9408,26 @@
 
   case 671:
 
-/* Line 690 of lalr1.cc  */
-#line 5827 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5834 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+        }
+    break;
+
+  case 672:
+
+/* Line 678 of lalr1.cc  */
+#line 5841 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 673:
+
+/* Line 678 of lalr1.cc  */
+#line 5845 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9429,10 +9435,10 @@
         }
     break;
 
-  case 672:
+  case 674:
 
-/* Line 690 of lalr1.cc  */
-#line 5836 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5854 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9443,28 +9449,10 @@
         }
     break;
 
-  case 673:
-
-/* Line 690 of lalr1.cc  */
-#line 5848 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 674:
-
-/* Line 690 of lalr1.cc  */
-#line 5852 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 675:
 
-/* Line 690 of lalr1.cc  */
-#line 5859 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5866 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9472,8 +9460,8 @@
 
   case 676:
 
-/* Line 690 of lalr1.cc  */
-#line 5863 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5870 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9481,17 +9469,35 @@
 
   case 677:
 
-/* Line 690 of lalr1.cc  */
-#line 5871 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5877 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 678:
+
+/* Line 678 of lalr1.cc  */
+#line 5881 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 679:
+
+/* Line 678 of lalr1.cc  */
+#line 5889 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 678:
+  case 680:
 
-/* Line 690 of lalr1.cc  */
-#line 5879 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5897 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
@@ -9501,37 +9507,19 @@
         }
     break;
 
-  case 679:
+  case 681:
 
-/* Line 690 of lalr1.cc  */
-#line 5887 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5905 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 680:
-
-/* Line 690 of lalr1.cc  */
-#line 5891 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 681:
-
-/* Line 690 of lalr1.cc  */
-#line 5898 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 682:
 
-/* Line 690 of lalr1.cc  */
-#line 5902 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5909 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9539,8 +9527,26 @@
 
   case 683:
 
-/* Line 690 of lalr1.cc  */
-#line 5910 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5916 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 684:
+
+/* Line 678 of lalr1.cc  */
+#line 5920 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 685:
+
+/* Line 678 of lalr1.cc  */
+#line 5928 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionSelection(
                 LOC((yyloc)),
@@ -9550,28 +9556,28 @@
         }
     break;
 
-  case 684:
-
-/* Line 690 of lalr1.cc  */
-#line 5921 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 685:
-
-/* Line 690 of lalr1.cc  */
-#line 5925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 686:
 
-/* Line 690 of lalr1.cc  */
-#line 5933 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5939 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 687:
+
+/* Line 678 of lalr1.cc  */
+#line 5943 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 688:
+
+/* Line 678 of lalr1.cc  */
+#line 5951 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWords(
                 LOC((yyloc)),
@@ -9581,10 +9587,10 @@
         }
     break;
 
-  case 687:
+  case 689:
 
-/* Line 690 of lalr1.cc  */
-#line 5945 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5963 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
@@ -9592,10 +9598,10 @@
         }
     break;
 
-  case 688:
+  case 690:
 
-/* Line 690 of lalr1.cc  */
-#line 5951 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5969 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
@@ -9603,109 +9609,91 @@
         }
     break;
 
-  case 689:
+  case 691:
 
-/* Line 690 of lalr1.cc  */
-#line 5960 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5978 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
     break;
 
-  case 690:
-
-/* Line 690 of lalr1.cc  */
-#line 5964 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 691:
-
-/* Line 690 of lalr1.cc  */
-#line 5972 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
-        }
-    break;
-
   case 692:
 
-/* Line 690 of lalr1.cc  */
-#line 5976 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5982 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 693:
 
-/* Line 690 of lalr1.cc  */
-#line 5980 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5990 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 694:
 
-/* Line 690 of lalr1.cc  */
-#line 5987 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5994 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any;
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 695:
 
-/* Line 690 of lalr1.cc  */
-#line 5991 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5998 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
         }
     break;
 
   case 696:
 
-/* Line 690 of lalr1.cc  */
-#line 5998 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6005 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
     break;
 
   case 697:
 
-/* Line 690 of lalr1.cc  */
-#line 6002 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6009 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
         }
     break;
 
   case 698:
 
-/* Line 690 of lalr1.cc  */
-#line 6010 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6016 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all;
         }
     break;
 
   case 699:
 
-/* Line 690 of lalr1.cc  */
-#line 6014 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6020 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
         }
     break;
 
   case 700:
 
-/* Line 690 of lalr1.cc  */
-#line 6018 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6028 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9713,8 +9701,8 @@
 
   case 701:
 
-/* Line 690 of lalr1.cc  */
-#line 6022 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6032 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9722,8 +9710,8 @@
 
   case 702:
 
-/* Line 690 of lalr1.cc  */
-#line 6026 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6036 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9731,17 +9719,35 @@
 
   case 703:
 
-/* Line 690 of lalr1.cc  */
-#line 6034 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6040 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 704:
+
+/* Line 678 of lalr1.cc  */
+#line 6044 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 705:
+
+/* Line 678 of lalr1.cc  */
+#line 6052 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
     break;
 
-  case 704:
+  case 706:
 
-/* Line 690 of lalr1.cc  */
-#line 6042 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6060 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9751,10 +9757,10 @@
         }
     break;
 
-  case 705:
+  case 707:
 
-/* Line 690 of lalr1.cc  */
-#line 6054 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6072 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9764,37 +9770,37 @@
         }
     break;
 
-  case 706:
+  case 708:
 
-/* Line 690 of lalr1.cc  */
-#line 6066 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6084 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
     break;
 
-  case 707:
+  case 709:
 
-/* Line 690 of lalr1.cc  */
-#line 6070 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6088 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
     break;
 
-  case 708:
+  case 710:
 
-/* Line 690 of lalr1.cc  */
-#line 6074 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6092 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
     break;
 
-  case 709:
+  case 711:
 
-/* Line 690 of lalr1.cc  */
-#line 6082 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6100 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9802,10 +9808,10 @@
         }
     break;
 
-  case 710:
+  case 712:
 
-/* Line 690 of lalr1.cc  */
-#line 6088 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6106 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (1)].node));
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -9813,28 +9819,10 @@
         }
     break;
 
-  case 711:
-
-/* Line 690 of lalr1.cc  */
-#line 6098 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 712:
-
-/* Line 690 of lalr1.cc  */
-#line 6102 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 713:
 
-/* Line 690 of lalr1.cc  */
-#line 6106 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6116 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9842,8 +9830,8 @@
 
   case 714:
 
-/* Line 690 of lalr1.cc  */
-#line 6110 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6120 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9851,8 +9839,8 @@
 
   case 715:
 
-/* Line 690 of lalr1.cc  */
-#line 6114 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6124 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9860,8 +9848,8 @@
 
   case 716:
 
-/* Line 690 of lalr1.cc  */
-#line 6118 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6128 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9869,8 +9857,8 @@
 
   case 717:
 
-/* Line 690 of lalr1.cc  */
-#line 6122 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6132 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9878,8 +9866,8 @@
 
   case 718:
 
-/* Line 690 of lalr1.cc  */
-#line 6126 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6136 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9887,44 +9875,62 @@
 
   case 719:
 
-/* Line 690 of lalr1.cc  */
-#line 6134 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6140 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 720:
+
+/* Line 678 of lalr1.cc  */
+#line 6144 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 721:
+
+/* Line 678 of lalr1.cc  */
+#line 6152 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
     break;
 
-  case 720:
+  case 722:
 
-/* Line 690 of lalr1.cc  */
-#line 6138 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6156 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
     break;
 
-  case 721:
+  case 723:
 
-/* Line 690 of lalr1.cc  */
-#line 6142 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6160 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
     break;
 
-  case 722:
+  case 724:
 
-/* Line 690 of lalr1.cc  */
-#line 6146 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6164 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
     break;
 
-  case 723:
+  case 725:
 
-/* Line 690 of lalr1.cc  */
-#line 6154 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6172 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -9932,10 +9938,10 @@
         }
     break;
 
-  case 724:
+  case 726:
 
-/* Line 690 of lalr1.cc  */
-#line 6160 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6178 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -9943,10 +9949,10 @@
         }
     break;
 
-  case 725:
+  case 727:
 
-/* Line 690 of lalr1.cc  */
-#line 6170 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6188 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionOption(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval))
@@ -9954,28 +9960,28 @@
         }
     break;
 
-  case 726:
+  case 728:
 
-/* Line 690 of lalr1.cc  */
-#line 6180 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6198 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
     break;
 
-  case 727:
+  case 729:
 
-/* Line 690 of lalr1.cc  */
-#line 6184 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6202 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
     break;
 
-  case 728:
+  case 730:
 
-/* Line 690 of lalr1.cc  */
-#line 6192 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6210 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -9987,10 +9993,10 @@
         }
     break;
 
-  case 729:
+  case 731:
 
-/* Line 690 of lalr1.cc  */
-#line 6202 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6220 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = (yysemantic_stack_[(5) - (4)].thesaurus_id_list);
             if ( (yysemantic_stack_[(5) - (3)].node) ) {
@@ -10003,75 +10009,75 @@
         }
     break;
 
-  case 730:
+  case 732:
 
-/* Line 690 of lalr1.cc  */
-#line 6213 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6231 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
     break;
 
-  case 731:
-
-/* Line 690 of lalr1.cc  */
-#line 6220 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 732:
-
-/* Line 690 of lalr1.cc  */
-#line 6224 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 733:
 
-/* Line 690 of lalr1.cc  */
-#line 6231 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6238 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 734:
+
+/* Line 678 of lalr1.cc  */
+#line 6242 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 735:
+
+/* Line 678 of lalr1.cc  */
+#line 6249 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
     break;
 
-  case 734:
+  case 736:
 
-/* Line 690 of lalr1.cc  */
-#line 6235 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6253 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
     break;
 
-  case 735:
+  case 737:
 
-/* Line 690 of lalr1.cc  */
-#line 6242 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6260 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = new FTThesaurusOption::thesaurus_id_list_t;
             (yyval.thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 736:
+  case 738:
 
-/* Line 690 of lalr1.cc  */
-#line 6247 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6265 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yysemantic_stack_[(3) - (1)].thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(3) - (3)].node)) );
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(3) - (1)].thesaurus_id_list);
         }
     break;
 
-  case 737:
+  case 739:
 
-/* Line 690 of lalr1.cc  */
-#line 6256 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6274 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusID(
                 LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (2)].sval)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), dynamic_cast<FTRange*>((yysemantic_stack_[(4) - (4)].node))
@@ -10079,46 +10085,46 @@
         }
     break;
 
-  case 738:
+  case 740:
 
-/* Line 690 of lalr1.cc  */
-#line 6265 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6283 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = 0;
         }
     break;
 
-  case 739:
+  case 741:
 
-/* Line 690 of lalr1.cc  */
-#line 6269 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6287 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
     break;
 
-  case 740:
-
-/* Line 690 of lalr1.cc  */
-#line 6276 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 741:
-
-/* Line 690 of lalr1.cc  */
-#line 6280 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
-        }
-    break;
-
   case 742:
 
-/* Line 690 of lalr1.cc  */
-#line 6288 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6294 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 743:
+
+/* Line 678 of lalr1.cc  */
+#line 6298 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 744:
+
+/* Line 678 of lalr1.cc  */
+#line 6306 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -10129,10 +10135,10 @@
         }
     break;
 
-  case 743:
+  case 745:
 
-/* Line 690 of lalr1.cc  */
-#line 6297 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6315 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, (yysemantic_stack_[(4) - (4)].incl_excl_list), ft_stop_words_mode::with_default
@@ -10141,10 +10147,10 @@
         }
     break;
 
-  case 744:
+  case 746:
 
-/* Line 690 of lalr1.cc  */
-#line 6304 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6322 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -10152,28 +10158,28 @@
         }
     break;
 
-  case 745:
+  case 747:
 
-/* Line 690 of lalr1.cc  */
-#line 6314 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6332 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
     break;
 
-  case 746:
+  case 748:
 
-/* Line 690 of lalr1.cc  */
-#line 6318 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6336 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
     break;
 
-  case 747:
+  case 749:
 
-/* Line 690 of lalr1.cc  */
-#line 6325 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6343 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -10181,10 +10187,10 @@
         }
     break;
 
-  case 748:
+  case 750:
 
-/* Line 690 of lalr1.cc  */
-#line 6331 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6349 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             if ( (yysemantic_stack_[(3) - (1)].strlist) )
                 (yysemantic_stack_[(3) - (1)].strlist)->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -10192,38 +10198,38 @@
         }
     break;
 
-  case 749:
+  case 751:
 
-/* Line 690 of lalr1.cc  */
-#line 6340 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6358 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
     break;
 
-  case 750:
+  case 752:
 
-/* Line 690 of lalr1.cc  */
-#line 6344 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6362 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
     break;
 
-  case 751:
+  case 753:
 
-/* Line 690 of lalr1.cc  */
-#line 6351 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6369 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = new FTStopWordOption::incl_excl_list_t;
             (yyval.incl_excl_list)->push_back( dynamic_cast<FTStopWordsInclExcl*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 752:
+  case 754:
 
-/* Line 690 of lalr1.cc  */
-#line 6356 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6374 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -10233,10 +10239,10 @@
         }
     break;
 
-  case 753:
+  case 755:
 
-/* Line 690 of lalr1.cc  */
-#line 6368 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6386 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10246,10 +10252,10 @@
         }
     break;
 
-  case 754:
+  case 756:
 
-/* Line 690 of lalr1.cc  */
-#line 6376 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6394 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10259,109 +10265,109 @@
         }
     break;
 
-  case 755:
+  case 757:
 
-/* Line 690 of lalr1.cc  */
-#line 6388 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6406 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 756:
+  case 758:
 
-/* Line 690 of lalr1.cc  */
-#line 6396 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6414 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
     break;
 
-  case 757:
+  case 759:
 
-/* Line 690 of lalr1.cc  */
-#line 6400 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6418 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
     break;
 
-  case 758:
+  case 760:
 
-/* Line 690 of lalr1.cc  */
-#line 6408 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6426 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
     break;
 
-  case 759:
+  case 761:
 
-/* Line 690 of lalr1.cc  */
-#line 6412 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6430 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
     break;
 
-  case 760:
+  case 762:
 
-/* Line 690 of lalr1.cc  */
-#line 6416 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6434 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
     break;
 
-  case 761:
+  case 763:
 
-/* Line 690 of lalr1.cc  */
-#line 6424 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6442 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
     break;
 
-  case 762:
+  case 764:
 
-/* Line 690 of lalr1.cc  */
-#line 6432 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6450 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
-  case 763:
+  case 765:
 
-/* Line 690 of lalr1.cc  */
-#line 6436 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6454 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 764:
+  case 766:
 
-/* Line 690 of lalr1.cc  */
-#line 6440 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6458 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 765:
+  case 767:
 
-/* Line 690 of lalr1.cc  */
-#line 6444 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6462 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::from_to, (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr) );
         }
     break;
 
-  case 766:
+  case 768:
 
-/* Line 690 of lalr1.cc  */
-#line 6452 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6470 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10371,10 +10377,10 @@
         }
     break;
 
-  case 767:
+  case 769:
 
-/* Line 690 of lalr1.cc  */
-#line 6460 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6478 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10384,105 +10390,105 @@
         }
     break;
 
-  case 768:
+  case 770:
 
-/* Line 690 of lalr1.cc  */
-#line 6472 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6490 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
     break;
 
-  case 769:
+  case 771:
 
-/* Line 690 of lalr1.cc  */
-#line 6476 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6494 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
     break;
 
-  case 770:
+  case 772:
 
-/* Line 690 of lalr1.cc  */
-#line 6484 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6502 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
     break;
 
-  case 771:
+  case 773:
 
-/* Line 690 of lalr1.cc  */
-#line 6498 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6516 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
     break;
 
-  case 772:
+  case 774:
 
-/* Line 690 of lalr1.cc  */
-#line 6502 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6520 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 773:
+  case 775:
 
-/* Line 690 of lalr1.cc  */
-#line 6509 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6527 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
 
-  case 774:
+  case 776:
 
-/* Line 690 of lalr1.cc  */
-#line 6514 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6532 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), false);
         }
     break;
 
-  case 775:
+  case 777:
 
-/* Line 690 of lalr1.cc  */
-#line 6522 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6540 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
 
-  case 776:
+  case 778:
 
-/* Line 690 of lalr1.cc  */
-#line 6527 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6545 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), true);
         }
     break;
 
-  case 777:
+  case 779:
 
-/* Line 690 of lalr1.cc  */
-#line 6536 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6554 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 778:
+  case 780:
 
-/* Line 690 of lalr1.cc  */
-#line 6544 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6562 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
           jpl->push_back(new JSONPairConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)));
@@ -10490,10 +10496,10 @@
         }
     break;
 
-  case 779:
+  case 781:
 
-/* Line 690 of lalr1.cc  */
-#line 6550 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6568 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10502,10 +10508,10 @@
         }
     break;
 
-  case 780:
+  case 782:
 
-/* Line 690 of lalr1.cc  */
-#line 6560 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6578 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(5) - (3)].expr),
@@ -10513,10 +10519,10 @@
         }
     break;
 
-  case 781:
+  case 783:
 
-/* Line 690 of lalr1.cc  */
-#line 6566 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6584 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (3)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10528,28 +10534,28 @@
         }
     break;
 
-  case 782:
+  case 784:
 
-/* Line 690 of lalr1.cc  */
-#line 6576 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6594 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (5)].expr), (yysemantic_stack_[(8) - (8)].expr));
         }
     break;
 
-  case 783:
+  case 785:
 
-/* Line 690 of lalr1.cc  */
-#line 6583 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6601 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
         }
     break;
 
-  case 784:
+  case 786:
 
-/* Line 690 of lalr1.cc  */
-#line 6590 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6608 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(3) - (3)].expr));
@@ -10573,10 +10579,10 @@
         }
     break;
 
-  case 785:
+  case 787:
 
-/* Line 690 of lalr1.cc  */
-#line 6615 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6633 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(5) - (3)].expr));
@@ -10603,10 +10609,10 @@
         }
     break;
 
-  case 786:
+  case 788:
 
-/* Line 690 of lalr1.cc  */
-#line 6643 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6661 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(7) - (5)].expr));
@@ -10633,28 +10639,10 @@
         }
     break;
 
-  case 787:
-
-/* Line 690 of lalr1.cc  */
-#line 6671 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 788:
-
-/* Line 690 of lalr1.cc  */
-#line 6675 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 789:
 
-/* Line 690 of lalr1.cc  */
-#line 6679 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6689 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10662,35 +10650,53 @@
 
   case 790:
 
-/* Line 690 of lalr1.cc  */
-#line 6686 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6693 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 791:
+
+/* Line 678 of lalr1.cc  */
+#line 6697 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 792:
+
+/* Line 678 of lalr1.cc  */
+#line 6704 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
-  case 791:
+  case 793:
 
-/* Line 690 of lalr1.cc  */
-#line 6693 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6711 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
     break;
 
-  case 792:
+  case 794:
 
-/* Line 690 of lalr1.cc  */
-#line 6700 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6718 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
     break;
 
-  case 795:
+  case 797:
 
-/* Line 690 of lalr1.cc  */
-#line 6717 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6735 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     {
           auto_ptr<QName> lQName( static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
           zstring const &tmp = lQName->get_qname();
@@ -10702,1571 +10708,1560 @@
         }
     break;
 
-  case 797:
+  case 799:
 
-/* Line 690 of lalr1.cc  */
-#line 6730 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6748 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 798:
+  case 800:
 
-/* Line 690 of lalr1.cc  */
-#line 6731 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6749 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 799:
+  case 801:
 
-/* Line 690 of lalr1.cc  */
-#line 6732 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6750 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 800:
+  case 802:
 
-/* Line 690 of lalr1.cc  */
-#line 6733 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6751 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 801:
+  case 803:
 
-/* Line 690 of lalr1.cc  */
-#line 6734 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6752 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("item"))); }
     break;
 
-  case 802:
+  case 804:
 
-/* Line 690 of lalr1.cc  */
-#line 6735 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6753 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 803:
+  case 805:
 
-/* Line 690 of lalr1.cc  */
-#line 6736 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6754 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 804:
+  case 806:
 
-/* Line 690 of lalr1.cc  */
-#line 6737 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6755 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 805:
+  case 807:
 
-/* Line 690 of lalr1.cc  */
-#line 6738 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6756 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 806:
+  case 808:
 
-/* Line 690 of lalr1.cc  */
-#line 6739 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6757 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 807:
+  case 809:
 
-/* Line 690 of lalr1.cc  */
-#line 6740 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6758 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 808:
+  case 810:
 
-/* Line 690 of lalr1.cc  */
-#line 6741 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6759 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 809:
+  case 811:
 
-/* Line 690 of lalr1.cc  */
-#line 6742 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6760 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 810:
+  case 812:
 
-/* Line 690 of lalr1.cc  */
-#line 6743 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6761 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 811:
+  case 813:
 
-/* Line 690 of lalr1.cc  */
-#line 6744 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6762 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 813:
+  case 815:
 
-/* Line 690 of lalr1.cc  */
-#line 6749 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6767 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 814:
+  case 816:
 
-/* Line 690 of lalr1.cc  */
-#line 6750 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6768 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 815:
+  case 817:
 
-/* Line 690 of lalr1.cc  */
-#line 6751 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6769 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 816:
+  case 818:
 
-/* Line 690 of lalr1.cc  */
-#line 6752 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6770 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 817:
+  case 819:
 
-/* Line 690 of lalr1.cc  */
-#line 6753 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6771 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 818:
+  case 820:
 
-/* Line 690 of lalr1.cc  */
-#line 6754 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6772 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 819:
+  case 821:
 
-/* Line 690 of lalr1.cc  */
-#line 6755 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6773 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 820:
+  case 822:
 
-/* Line 690 of lalr1.cc  */
-#line 6756 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6774 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 821:
+  case 823:
 
-/* Line 690 of lalr1.cc  */
-#line 6757 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6775 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 822:
+  case 824:
 
-/* Line 690 of lalr1.cc  */
-#line 6758 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6776 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 823:
+  case 825:
 
-/* Line 690 of lalr1.cc  */
-#line 6759 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6777 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 824:
+  case 826:
 
-/* Line 690 of lalr1.cc  */
-#line 6760 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6778 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 825:
+  case 827:
 
-/* Line 690 of lalr1.cc  */
-#line 6761 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6779 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 826:
+  case 828:
 
-/* Line 690 of lalr1.cc  */
-#line 6762 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6780 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 827:
+  case 829:
 
-/* Line 690 of lalr1.cc  */
-#line 6763 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6781 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 828:
+  case 830:
 
-/* Line 690 of lalr1.cc  */
-#line 6764 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6782 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 829:
+  case 831:
 
-/* Line 690 of lalr1.cc  */
-#line 6765 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6783 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 830:
+  case 832:
 
-/* Line 690 of lalr1.cc  */
-#line 6766 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6784 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 831:
+  case 833:
 
-/* Line 690 of lalr1.cc  */
-#line 6767 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6785 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 832:
+  case 834:
 
-/* Line 690 of lalr1.cc  */
-#line 6768 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6786 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 833:
+  case 835:
 
-/* Line 690 of lalr1.cc  */
-#line 6769 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6787 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 834:
+  case 836:
 
-/* Line 690 of lalr1.cc  */
-#line 6770 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6788 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 835:
+  case 837:
 
-/* Line 690 of lalr1.cc  */
-#line 6771 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6789 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 836:
+  case 838:
 
-/* Line 690 of lalr1.cc  */
-#line 6772 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6790 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 837:
+  case 839:
 
-/* Line 690 of lalr1.cc  */
-#line 6773 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6791 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
-  case 838:
+  case 840:
 
-/* Line 690 of lalr1.cc  */
-#line 6774 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6792 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
-  case 839:
+  case 841:
 
-/* Line 690 of lalr1.cc  */
-#line 6775 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6793 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("skip"))); }
     break;
 
-  case 840:
+  case 842:
 
-/* Line 690 of lalr1.cc  */
-#line 6776 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6794 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy"))); }
     break;
 
-  case 841:
+  case 843:
 
-/* Line 690 of lalr1.cc  */
-#line 6777 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6795 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("general"))); }
     break;
 
-  case 842:
+  case 844:
 
-/* Line 690 of lalr1.cc  */
-#line 6778 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6796 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("value"))); }
     break;
 
-  case 843:
+  case 845:
 
-/* Line 690 of lalr1.cc  */
-#line 6779 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6797 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("eq"))); }
     break;
 
-  case 844:
+  case 846:
 
-/* Line 690 of lalr1.cc  */
-#line 6780 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6798 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ne"))); }
     break;
 
-  case 845:
+  case 847:
 
-/* Line 690 of lalr1.cc  */
-#line 6781 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6799 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lt"))); }
     break;
 
-  case 846:
+  case 848:
 
-/* Line 690 of lalr1.cc  */
-#line 6782 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6800 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("le"))); }
     break;
 
-  case 847:
+  case 849:
 
-/* Line 690 of lalr1.cc  */
-#line 6783 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6801 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("gt"))); }
     break;
 
-  case 848:
+  case 850:
 
-/* Line 690 of lalr1.cc  */
-#line 6784 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6802 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ge"))); }
     break;
 
-  case 849:
+  case 851:
 
-/* Line 690 of lalr1.cc  */
-#line 6785 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6803 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("at"))); }
     break;
 
-  case 850:
+  case 852:
 
-/* Line 690 of lalr1.cc  */
-#line 6786 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6804 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("context"))); }
     break;
 
-  case 851:
+  case 853:
 
-/* Line 690 of lalr1.cc  */
-#line 6787 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6805 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("variable"))); }
     break;
 
-  case 852:
+  case 854:
 
-/* Line 690 of lalr1.cc  */
-#line 6788 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/x

Follow ups