← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~nbrinza/zorba/hof into lp:zorba

 

Nicolae Brinza has proposed merging lp:~nbrinza/zorba/hof into lp:zorba.

Commit message:
Implementation of higher order functions.

Requested reviews:
  Nicolae Brinza (nbrinza)
Related bugs:
  Bug #866742 in Zorba: "combinator function segfault"
  https://bugs.launchpad.net/zorba/+bug/866742
  Bug #866839 in Zorba: "optimizer crashes in hof-101"
  https://bugs.launchpad.net/zorba/+bug/866839
  Bug #867035 in Zorba: "not all the functions from F&O 3.0 are implemented"
  https://bugs.launchpad.net/zorba/+bug/867035
  Bug #932266 in Zorba: "HOF: reporting wrong error"
  https://bugs.launchpad.net/zorba/+bug/932266
  Bug #947051 in Zorba: "FOTS: HOF tests Seg Fault"
  https://bugs.launchpad.net/zorba/+bug/947051
  Bug #947130 in Zorba: "FOTS: generate-id tests results in Seg Fault"
  https://bugs.launchpad.net/zorba/+bug/947130
  Bug #950608 in Zorba: "XQuery 3.0 vs Zorba: fold-right#3 not implemented"
  https://bugs.launchpad.net/zorba/+bug/950608
  Bug #950622 in Zorba: "remove fn:partial-apply and replace with "?""
  https://bugs.launchpad.net/zorba/+bug/950622
  Bug #1002313 in Zorba: "Plan Serializer test fails due to HOF"
  https://bugs.launchpad.net/zorba/+bug/1002313
  Bug #1018333 in Zorba: "HOFs declared as global variables in the prolog crash Zorba"
  https://bugs.launchpad.net/zorba/+bug/1018333
  Bug #1023024 in Zorba: "HOF related crashes not covered by XQTTS"
  https://bugs.launchpad.net/zorba/+bug/1023024
  Bug #1070504 in Zorba: "FOTS: function-lookup tests reach assertion "iter != NULL""
  https://bugs.launchpad.net/zorba/+bug/1070504
  Bug #1070704 in Zorba: "FOTS driver: "declare option hof" in wrong place"
  https://bugs.launchpad.net/zorba/+bug/1070704

For more details, see:
https://code.launchpad.net/~nbrinza/zorba/hof/+merge/150714

Implementation of higher order functions.
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~nbrinza/zorba/hof/+merge/150714
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'include/zorba/pregenerated/diagnostic_list.h'
--- include/zorba/pregenerated/diagnostic_list.h	2013-02-08 18:48:35 +0000
+++ include/zorba/pregenerated/diagnostic_list.h	2013-02-27 02:43:25 +0000
@@ -64,6 +64,8 @@
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XQTY0086;
 
+extern ZORBA_DLL_PUBLIC XQueryErrorCode XQTY0105;
+
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0009;
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0012;
@@ -300,6 +302,8 @@
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode FOUT1190;
 
+extern ZORBA_DLL_PUBLIC XQueryErrorCode FOFL0001;
+
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XUST0001;
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XUST0002;

=== modified file 'modules/w3c/pregenerated/xqt-errors.xq'
--- modules/w3c/pregenerated/xqt-errors.xq	2013-02-08 00:12:38 +0000
+++ modules/w3c/pregenerated/xqt-errors.xq	2013-02-27 02:43:25 +0000
@@ -203,6 +203,14 @@
 
 (:~
  :
+ : It is a type error if the content sequence in an element constructor contains a function item.
+ : 
+ : @see http://www.w3.org/2005/xqt-errors
+:)
+declare variable $err:XQTY0105 as xs:QName := fn:QName($err:NS, "err:XQTY0105");
+
+(:~
+ :
  : An implementation that does not support the Schema Import Feature must
  : raise a static error if a Prolog contains a schema import.
  : 
@@ -1303,6 +1311,14 @@
 
 (:~
  :
+ : This error is raised if the fn:function-lookup returns a context-dependent function and the context-dependent function is then called.
+ : 
+ : @see http://www.w3.org/2005/xqt-errors
+:)
+declare variable $err:FOFL0001 as xs:QName := fn:QName($err:NS, "err:FOFL0001");
+
+(:~
+ :
  : It is a static error if an updating expression is used in any position
  : other than one of the following:
  : - The topmost expression in the body of a query.

=== modified file 'src/api/serialization/serializer.cpp'
--- src/api/serialization/serializer.cpp	2012-12-15 16:36:23 +0000
+++ src/api/serialization/serializer.cpp	2013-02-27 02:43:25 +0000
@@ -455,6 +455,11 @@
 
     thePreviousItemKind = PREVIOUS_ITEM_WAS_TEXT;
   }
+  else if (item->isFunction()) // TODO: what about function items serialization?
+  {
+    // throw XQUERY_EXCEPTION(err::SENR0001, ERROR_PARAMS(item->show(), "function item node"));
+    tr << item->show();
+  }
   else if (!theEmitAttributes 
         && item->getNodeKind() == store::StoreConsts::attributeNode)
   {

=== modified file 'src/compiler/api/compiler_api.cpp'
--- src/compiler/api/compiler_api.cpp	2012-12-14 07:27:04 +0000
+++ src/compiler/api/compiler_api.cpp	2013-02-27 02:43:25 +0000
@@ -355,7 +355,7 @@
   // are actually non-deterministic and mark them as such. This has to be done
   // before optimization.
   udfGraph.inferDeterminism();
-
+  
   if (theCompilerCB->theConfig.opt_level <= CompilerCB::config::O0)
   {
     theCompilerCB->setPhase(CompilerCB::NONE);

=== modified file 'src/compiler/codegen/plan_visitor.cpp'
--- src/compiler/codegen/plan_visitor.cpp	2013-02-17 00:59:54 +0000
+++ src/compiler/codegen/plan_visitor.cpp	2013-02-27 02:43:25 +0000
@@ -466,29 +466,182 @@
 void end_visit(function_item_expr& v)
 {
   CODEGEN_TRACE_OUT("");
-  store::Item_t lQName = v.get_qname();
-  store::Item_t lFItem;
-
-  bool isInline = (lQName == 0);
-
-  if (!isInline)
+
+  DynamicFunctionInfo* fnInfo = v.get_dynamic_fn_info();
+  fnInfo->theCCB = theCCB;
+  fnInfo->theLoc = qloc;
+  fnInfo->theFunction = v.get_function();
+  fnInfo->theQName = v.get_qname();
+  fnInfo->theArity = v.get_arity();
+
+  if (v.is_inline())
   {
-    // literal function item
-    lFItem = new FunctionItem(theCCB, sctx, &v);
+    for (csize i = 0; i < v.get_subst_vars_values().size(); ++i)
+    {      
+      if (!v.get_is_global_var()[i])     
+        fnInfo->theScopedVarsIterators.push_back(pop_itstack());
+
+      // TODO: cleanup debug info
+      /*
+      PlanIter_t varIter = NULL;
+      PlanIter_t enclosedIter = NULL;
+
+      store::Item* var_qname = NULL;
+      if (dynamic_cast<LetVarIterator*>(varIter.getp()) != NULL)
+        var_qname = dynamic_cast<LetVarIterator*>(varIter.getp())->getVarName();
+      else if (dynamic_cast<ForVarIterator*>(varIter.getp()) != NULL)
+        var_qname = dynamic_cast<ForVarIterator*>(varIter.getp())->getVarName();
+      else
+        var_qname = v.get_scoped_vars_names()[i].getp();
+
+      std::cerr << "--> PlanVisitor function_item_expr: var name: " << v.get_scoped_vars_names()[i]->show()
+          << " global: " << v.get_is_global_var()[i]
+          << " with iter: "
+          << (enclosedIter.getp()?enclosedIter->toString() : "NULL");
+      if (dynamic_cast<LetVarIterator*>(enclosedIter.getp()) != NULL)
+        std::cerr << " var name: " << dynamic_cast<LetVarIterator*>(enclosedIter.getp())->getVarName()->show();
+      else if (dynamic_cast<ForVarIterator*>(enclosedIter.getp()) != NULL)
+        std::cerr << " var name: " << dynamic_cast<ForVarIterator*>(enclosedIter.getp())->getVarName()->show();
+      else
+        std::cerr << " var name (from the expr, not the iterator): " << (var_qname? var_qname->show() : "NULL");
+      std::cerr << std::endl;
+      */
+    }
+
+    std::reverse(fnInfo->theScopedVarsIterators.begin(), fnInfo->theScopedVarsIterators.end());
   }
-  else
+
+
+  // This portion is taken from the eval iterator
   {
-    // inline function
-    std::vector<PlanIter_t> lVariableValues;
-    size_t lSize = v.get_vars().size();
-    for (size_t i = 0; i < lSize; ++i)
+    // Create the "import" sctx. The importOuterEnv() method (called below) will
+    // register into the importSctx (a) the outer vars of the eval query and (b)
+    // the expression-level ns bindings of the outer query at the place where
+    // the eval call appears at.
+    // static_context* importSctx = sctx->create_child_context();
+
+    // Create the root sctx for the eval query
+    // static_context* evalSctx = importSctx->create_child_context();
+
+    // Create the ccb for the eval query
+
+    // fnInfo->theCCBHolder.reset(new CompilerCB(*theCCB));
+    // fnInfo->theCCB = fnInfo->theCCBHolder.get();
+    // fnInfo->theCCB->theRootSctx = evalSctx;
+    // (fnInfo->theCCB->theSctxMap)[1] = evalSctx;
+
+    // Create the dynamic context for the eval query
+    // std::auto_ptr<dynamic_context> evalDctx;
+    // evalDctx.reset(new dynamic_context(planState.theGlobalDynCtx));
+    // evalDctx.reset(new dynamic_context());
+
+    // Import the outer environment.
+    // importOuterEnv(planState, evalCCB.get(), importSctx, evalDctx.get());
+
+    // Set the values for the (explicit) external vars of the eval query
+    // setExternalVariables(evalCCB.get(), importSctx, evalDctx.get());
+
+
+    // std::cerr << "--> " << toString() << ": creating function item with params: " << std::endl;
+    // for (csize i=0; i<theChildren.size(); i++)
+    //  std::cerr << "    " << (theDynamicFunctionInfo->theScopedVarsNames[i].getp() ? theDynamicFunctionInfo->theScopedVarsNames[i]->show() : "") << std::endl;
+
+    // std::cerr << "--> the body before: " << static_cast<user_function*>(theDynamicFunctionInfo->theFunction.getp())->getBody()->toString() << std::endl;
+
+    // result = new FunctionItem(theDynamicFunctionInfo, evalCCB.release(), evalDctx.release());
+
+    // std::cerr << "--> sctx: " << sctx->toString() << std::endl;
+    // std::cerr << "--> closureSctx: " << fnInfo->theClosureSctx->toString() << std::endl;
+
+    // ulong maxOuterVarId = 1;
+    // ++maxOuterVarId; // TODO: get it from the plan_visitor
+
+    csize curChild = -1;
+    csize numOuterVars = fnInfo->theScopedVarsNames.size();
+    for (csize i = 0; i < numOuterVars; ++i)
     {
-      lVariableValues.push_back(pop_itstack());
+      var_expr* ve = theCCB->theEM->create_var_expr(fnInfo->theClosureSctx,
+                                                            NULL,
+                                                            qloc,
+                                                            var_expr::hof_var,
+                                                            fnInfo->theScopedVarsNames[i].getp());
+
+      // ve->set_type(theOuterVarTypes[i]); TODO: get types
+      if (!fnInfo->theIsGlobalVar[i])
+      {
+        ++curChild;
+        // store::Iterator_t iter = new PlanIteratorWrapper(theChildren[curChild], planState);
+        // evalDctx->add_variable(maxOuterVarId, iter);
+        // ve->set_unique_id(maxOuterVarId);
+
+        if (fnInfo->theSubstVarsValues[i] != NULL
+            &&
+            fnInfo->theSubstVarsValues[i]->get_unique_id() == 0)
+        {
+          fnInfo->theSubstVarsValues[i]->set_var_info(NULL);
+          // fnInfo->theSubstVarsValues[i]->set_unique_id(maxOuterVarId);
+          fnInfo->theSubstVarsValues[i]->set_unique_id(theNextDynamicVarId++);
+        }
+
+        // std::cerr << "--> plan_visitor: " << fnInfo->theQName->toString() << " var: " << fnInfo->theScopedVarsNames[i]->toString() << " has id: " << fnInfo->theSubstVarsValues[i]->get_unique_id() << std::endl;
+
+        ve->set_unique_id(fnInfo->theSubstVarsValues[i]->get_unique_id());
+        fnInfo->theVarId[i] = fnInfo->theSubstVarsValues[i]->get_unique_id();
+
+        // ++maxOuterVarId;
+        // theNextDynamicVarId++;
+      }
+      else
+      {
+        // static_context* outerSctx = importSctx->get_parent();
+        static_context* outerSctx = fnInfo->theClosureSctx->get_parent();
+
+        VarInfo* outerGlobalVar = outerSctx->lookup_var(fnInfo->theScopedVarsNames[i]);
+
+        ulong outerGlobalVarId = 0;
+
+        if (outerGlobalVar)
+        {
+          outerGlobalVarId = outerGlobalVar->getId();
+        }
+        else
+        {
+          // std::cerr << "--> searching for var: " << theDynamicFunctionInfo->theScopedVarsNames[i]->toString() << std::endl;
+          for (csize j=0; j<fnInfo->theSubstVarsValues.size(); j++)
+          {
+            // std::cerr << "    substVar: " << (theDynamicFunctionInfo->theSubstVarsValues[j] ? theDynamicFunctionInfo->theSubstVarsValues[j]->toString() : "NULL");
+            if (fnInfo->theSubstVarsValues[j]->get_name()->equals(fnInfo->theScopedVarsNames[i].getp()))
+              outerGlobalVarId = fnInfo->theSubstVarsValues[j]->get_unique_id();
+          }
+        }
+
+        // ZORBA_ASSERT(outerGlobalVar);
+
+        // std::cerr << "--> importOuterEnv(): outerSctx: " << outerSctx->toString() << std::endl;
+        // std::cerr << "--> plan_visitor: " << fnInfo->theQName->toString() << " updating id for subst_var: " << (fnInfo->theSubstVarsValues[i] ? fnInfo->theSubstVarsValues[i]->toString() : "NULL\n");
+
+        if (fnInfo->theSubstVarsValues[i] != NULL
+            &&
+            fnInfo->theSubstVarsValues[i]->get_unique_id() == 0)
+        {
+          fnInfo->theSubstVarsValues[i]->set_unique_id(outerGlobalVarId);
+        }
+
+        ve->set_unique_id(outerGlobalVarId);
+
+        fnInfo->theVarId[i] = outerGlobalVarId;
+      }
+
+      // importSctx->bind_var(ve, qloc);
+      // fnInfo->theClosureSctx->bind_var(ve, qloc);
     }
-    lFItem = new FunctionItem(theCCB, sctx, &v, lVariableValues);
   }
 
-  push_itstack(new SingletonIterator (sctx, qloc, lFItem));
+  // std::cerr << "--> the body now: " << static_cast<user_function*>(fnInfo->theFunction.getp())->getBody()->toString() << std::endl;
+
+  PlanIter_t tmp = new DynamicFunctionIterator(sctx, qloc, fnInfo);
+  // std::cerr << "--> plan_visitor: pushing iter: " << tmp->toString() << std::endl;
+  push_itstack(tmp);
 }
 
 
@@ -507,18 +660,49 @@
 
   ulong numArgs = (ulong)v.get_args().size() + 1;
 
-  std::vector<PlanIter_t> argIters(numArgs);
-
-  for (size_t i = 1; i < numArgs; ++i)
-  {
-    argIters[i] = pop_itstack();
-  }
-
-  argIters[0] = pop_itstack();
-
-  push_itstack(new DynamicFnCallIterator(sctx, qloc, argIters));
-}
-
+  std::vector<PlanIter_t> argIters;
+  
+  bool isPartialApply = false;
+  
+  // the arguments are reversed on the stack
+  for (csize i=0; i<v.get_dot_vars().size(); i++)
+  {
+    PlanIter_t iter = pop_itstack();
+    argIters.push_back(iter);
+    // std::cerr << "--> plan_visitor dot var iterator: " << iter->toString() << std::endl; // TODO
+  }
+
+  for (size_t i = 0; i < numArgs-1; ++i)
+  {
+    if (v.get_args()[i]->get_expr_kind() == argument_placeholder_expr_kind)
+      isPartialApply = true;
+
+    argIters.push_back(pop_itstack());
+  }
+
+  argIters.push_back(pop_itstack());
+
+  std::reverse(argIters.begin(), argIters.end());
+
+  push_itstack(new DynamicFnCallIterator(sctx, qloc, argIters, v.get_dot_vars().size(), isPartialApply));
+}
+
+
+/***************************************************************************//**
+
+********************************************************************************/
+bool begin_visit(argument_placeholder_expr& v)
+{
+  CODEGEN_TRACE_IN("");
+  return true;
+}
+
+void end_visit(argument_placeholder_expr& v)
+{
+  CODEGEN_TRACE_OUT("");
+  PlanIter_t it = new ArgumentPlaceholderIterator(sctx, qloc);
+  push_itstack(it);
+}
 
 /***************************************************************************//**
 
@@ -743,6 +927,8 @@
 
   bool isForVar = false;
 
+  // std::cerr << "--> general_var_codegen() on var: " << var.toString();
+
   switch (var.get_kind())
   {
   case var_expr::for_var:
@@ -836,6 +1022,7 @@
 
   case var_expr::arg_var:
   {
+    ZORBA_ASSERT(arg_var_iter_map != NULL);
     PlanIter_t iter = base_var_codegen(var, *arg_var_iter_map);
     push_itstack(iter);
     break;
@@ -856,6 +1043,7 @@
   }
 
   case var_expr::prolog_var:
+  case var_expr::hof_var:
   {
     push_itstack(new CtxVarIterator(sctx,
                                     qloc,
@@ -3585,6 +3773,11 @@
 #ifndef NDEBUG
   if (!itstack.empty())
   {
+    std::cout << "Plan_visitor partial iterator tree:\n"; // TODO: remove this debug output
+    XMLIterPrinter vp(std::cout);
+    print_iter_plan(vp, res);
+    std::cout<< std::endl;
+
     std::cout << "\nPlan_visitor stack still contains "
               << itstack.size() << " entries: " << std::endl;
     while (!itstack.empty())
@@ -3697,9 +3890,37 @@
     hash64map<std::vector<LetVarIter_t> *>* arg_var_map)
 {
   plan_visitor c(ccb, nextDynamicVarId, arg_var_map);
+
+  /*
+  std::cerr << "------------------- codegen: -------------------\n";
+  if (dynamic_cast<function_item_expr*>(root) != NULL)
+    std::cerr << "--> function_item_expr " << root->get_loc() << std::endl;
+
+  std::cerr << std::endl;
+  std::cerr << root->toString() << std::endl;
+  std::cerr << "------------------------------------------------\n";
+  */
+
   root->accept(c);
   PlanIter_t result = c.result();
 
+  /*
+  std::cerr << "--> arg_var_map: " << arg_var_map << " size: " << (arg_var_map==NULL?0 : arg_var_map->size()) << " iterators: ";
+  if (arg_var_map != NULL)
+  {
+    csize i = 0;
+    for (checked_vector<hash64map<std::vector<LetVarIter_t> *>::entry>::const_iterator it = arg_var_map->begin(); it != arg_var_map->end(); ++it, ++i)
+    {
+      var_expr* var = (var_expr*)it->key;
+      std::cerr << std::endl << "--> [" << i << "] " << var->toString() << "--> [" << i << "] referenced by:";
+      for (csize j=0; j < it->val->size(); j++)
+        std::cerr << " " << (*it->val)[j]->getId() << " = LetVarIterator";
+    }
+  }
+  std::cerr << std::endl << "------------------------------------------------\n";
+  */
+
+
   if (result != NULL &&
       descr != NULL &&
       Properties::instance()->printIteratorTree())

=== modified file 'src/compiler/expression/abstract_expr_visitor.h'
--- src/compiler/expression/abstract_expr_visitor.h	2012-09-19 21:16:15 +0000
+++ src/compiler/expression/abstract_expr_visitor.h	2013-02-27 02:43:25 +0000
@@ -1,12 +1,12 @@
 /*
  * Copyright 2006-2008 The FLWOR Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -22,18 +22,18 @@
 #include "compiler/expression/expr_visitor.h"
 
 /*______________________________________________________________________
-|  
+|
 |  Design note: Visitor pattern.  See, for example:
 |  "Modern C++ Design" by Andrei Alexandrescu,
 |  Addison Wesley (2001), Chapter 10.
 |_______________________________________________________________________*/
 
-namespace zorba 
+namespace zorba
 {
 
 class abstract_expr_visitor : public expr_visitor
 {
-public: 
+public:
   virtual ~abstract_expr_visitor() {}
 
 public:
@@ -80,6 +80,7 @@
   EXPR_VISITOR_METHODS(trycatch_expr);
   EXPR_VISITOR_METHODS(function_item_expr);
   EXPR_VISITOR_METHODS(dynamic_function_invocation_expr);
+  EXPR_VISITOR_METHODS(argument_placeholder_epxr);
 
   EXPR_VISITOR_METHODS (delete_expr);
   EXPR_VISITOR_METHODS (insert_expr);

=== modified file 'src/compiler/expression/expr_base.cpp'
--- src/compiler/expression/expr_base.cpp	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_base.cpp	2013-02-27 02:43:25 +0000
@@ -288,6 +288,13 @@
   return oss.str();
 }
 
+/*******************************************************************************
+  to mirror the Item's class show() method
+********************************************************************************/
+std::string expr::show() const  
+{ 
+  return toString(); 
+}
 
 /*******************************************************************************
 

=== modified file 'src/compiler/expression/expr_base.h'
--- src/compiler/expression/expr_base.h	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_base.h	2013-02-27 02:43:25 +0000
@@ -70,6 +70,7 @@
 
   fo_expr_kind,
   dynamic_function_invocation_expr_kind,
+  argument_placeholder_expr_kind,
   function_item_expr_kind,
 
   castable_expr_kind,
@@ -269,6 +270,8 @@
 
   std::string toString() const;
 
+  std::string show() const; // to mirror the Item's class show() method
+
 public:
   //
   void setVisitId(uint8_t id) { theVisitId = id; }

=== modified file 'src/compiler/expression/expr_classes.h'
--- src/compiler/expression/expr_classes.h	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_classes.h	2013-02-27 02:43:25 +0000
@@ -50,6 +50,7 @@
   class trycatch_expr;
   class function_item_expr;
   class dynamic_function_invocation_expr;
+  class argument_placeholder_expr;
 
   class insert_expr;
   class delete_expr;

=== modified file 'src/compiler/expression/expr_clone.cpp'
--- src/compiler/expression/expr_clone.cpp	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_clone.cpp	2013-02-27 02:43:25 +0000
@@ -31,6 +31,7 @@
 #include "compiler/api/compilercb.h"
 
 #include "functions/function.h"
+#include "functions/udf.h"
 
 #include "diagnostics/xquery_diagnostics.h"
 #include "diagnostics/util_macros.h"
@@ -147,7 +148,7 @@
 
     std::vector<expr*> names;
     std::vector<expr*> values;
-    
+
     names.reserve(e->theNames.size());
     values.reserve(e->theValues.size());
 
@@ -333,7 +334,7 @@
   }
   case dynamic_function_invocation_expr_kind:
   {
-    const dynamic_function_invocation_expr* e = 
+    const dynamic_function_invocation_expr* e =
     static_cast<const dynamic_function_invocation_expr*>(this);
 
     checked_vector<expr*> newArgs;
@@ -344,12 +345,26 @@
       newArgs.push_back((*ite)->clone(udf, subst));
     }
     
+    checked_vector<expr*> newDotVars;
+    for (checked_vector<expr*>::const_iterator ite = e->theDotVars.begin();
+         ite != e->theDotVars.end();
+         ++ite)
+    {
+      newDotVars.push_back((*ite)->clone(udf, subst));
+    }
+
     newExpr = theCCB->theEM->
     create_dynamic_function_invocation_expr(theSctx,
                                             udf,
                                             theLoc,
                                             e->theExpr->clone(udf, subst),
-                                            newArgs);
+                                            newArgs,
+                                            newDotVars);
+    break;
+  }
+  case argument_placeholder_expr_kind:
+  {
+    newExpr = theCCB->theEM->create_argument_placeholder_expr(theSctx, udf, theLoc);
     break;
   }
   case function_item_expr_kind:
@@ -359,17 +374,24 @@
     function_item_expr* cloneExpr = theCCB->theEM->
     create_function_item_expr(theSctx,
                               udf,
-                              theLoc,
-                              e->theFunction->getName(),
-                              e->theFunction.getp(),
-                              e->theArity);
+                              get_loc(),
+                              e->theDynamicFunctionInfo->theClosureSctx,
+                              e->theDynamicFunctionInfo->theFunction,
+                              e->theDynamicFunctionInfo->theFunction->getName(),
+                              e->theDynamicFunctionInfo->theArity,
+                              e->is_inline(),
+                              e->needs_context_item());
 
-    std::vector<expr*> lNewVariables;
-    for (std::vector<expr*>::const_iterator ite = e->theScopedVariables.begin();
-         ite != e->theScopedVariables.end();
-         ++ite)
+    std::vector<expr*>::const_iterator varIter = e->theDynamicFunctionInfo->theScopedVarsValues.begin();
+    std::vector<var_expr*>::const_iterator substVarIter = e->theDynamicFunctionInfo->theSubstVarsValues.begin();
+    std::vector<store::Item_t>::const_iterator nameIter = e->theDynamicFunctionInfo->theScopedVarsNames.begin();
+    std::vector<int>::const_iterator isGlobalIter = e->theDynamicFunctionInfo->theIsGlobalVar.begin();
+    for (; varIter != e->theDynamicFunctionInfo->theScopedVarsValues.end(); ++varIter, ++substVarIter, ++nameIter, ++isGlobalIter)
     {
-      cloneExpr->add_variable((*ite)->clone(udf, subst));
+      cloneExpr->add_variable((*varIter) ? (*varIter)->clone(udf, subst) : NULL,
+                              (*substVarIter) ? static_cast<var_expr*>((*substVarIter)->clone(udf, subst)) : NULL,
+                              *nameIter,
+                              *isGlobalIter);
     }
 
     newExpr = cloneExpr;
@@ -581,7 +603,7 @@
 
     transform_expr* cloneExpr = theCCB->theEM->
     create_transform_expr(theSctx, udf, theLoc);
-    
+
     for (std::vector<copy_clause*>::const_iterator ite = e->theCopyClauses.begin();
          ite != e->theCopyClauses.end();
          ++ite)
@@ -677,10 +699,10 @@
     for (; ite != end; ++ite)
     {
       assert(subst.find(*ite) != subst.end());
-      
+
       clonedExits.push_back(subst[*ite]);
     }
-    
+
     newExpr = theCCB->theEM->
     create_exit_catcher_expr(theSctx, udf, theLoc, clonedInput, clonedExits);
 

=== modified file 'src/compiler/expression/expr_iter.cpp'
--- src/compiler/expression/expr_iter.cpp	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_iter.cpp	2013-02-27 02:43:25 +0000
@@ -195,9 +195,9 @@
 
           theArgsIter = oc->theOrderingExprs.begin();
           theArgsEnd = oc->theOrderingExprs.end();
-          
+
           theCurrentChild = &(*theArgsIter);
-          
+
           ++theArgsIter;
           theState = 3;
           return;
@@ -242,7 +242,7 @@
       while (theWincondIter < 2)
       {
         window_clause* wc = static_cast<window_clause *>(*theClausesIter);
-            
+
         flwor_wincond* wincond = (theWincondIter == 0 ?
                                   wc->theWinStartCond :
                                   wc->theWinStopCond );
@@ -269,7 +269,7 @@
         ++theArgsIter;
         return;
       }
-      
+
       theState = 1;
       ++theClausesIter;
       goto nextclause;
@@ -691,10 +691,12 @@
 
     EXPR_ITER_BEGIN();
 
-    theArgsIter = fiExpr->theScopedVariables.begin();
-    theArgsEnd = fiExpr->theScopedVariables.end();
+    theArgsIter = fiExpr->theDynamicFunctionInfo->theScopedVarsValues.begin();
+    theArgsEnd = fiExpr->theDynamicFunctionInfo->theScopedVarsValues.end();
     for (; theArgsIter != theArgsEnd; ++theArgsIter)
     {
+      if ( ! *theArgsIter) // TODO: the vars values for prolog variables is null, so they have to be skipped, or the optimizer will trip and fall off. Maybe null vars values need not be remembered
+        continue;
       EXPR_ITER_NEXT(*theArgsIter);
     }
 
@@ -717,11 +719,26 @@
     {
       EXPR_ITER_NEXT(*theArgsIter);
     }
+    
+    theArgsIter = dfiExpr->theDotVars.begin();
+    theArgsEnd = dfiExpr->theDotVars.end();
+    for (; theArgsIter != theArgsEnd; ++theArgsIter)
+    {
+      if ( ! *theArgsIter)
+        continue;
+      EXPR_ITER_NEXT(*theArgsIter);
+    }
 
     EXPR_ITER_END();
     return;
   }
 
+  case argument_placeholder_expr_kind:
+  {
+    theIsDone = true;
+    return;
+  }
+
   case insert_expr_kind:
   {
     insert_expr* insExpr = static_cast<insert_expr*>(theExpr);

=== modified file 'src/compiler/expression/expr_manager.cpp'
--- src/compiler/expression/expr_manager.cpp	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_manager.cpp	2013-02-27 02:43:25 +0000
@@ -785,14 +785,24 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 dynamic_function_invocation_expr*
-ExprManager::create_dynamic_function_invocation_expr(
-    static_context* sctx,
+ExprManager::create_dynamic_function_invocation_expr(static_context* sctx,
     user_function* udf,
     const QueryLoc& loc,
     expr* anExpr,
-    const std::vector<expr*>& args)
-{
-  CREATE_AND_RETURN_EXPR(dynamic_function_invocation_expr, sctx, udf, loc, anExpr, args);
+    const std::vector<expr*>& args,
+    const std::vector<expr*>& dotVars)
+{
+  CREATE_AND_RETURN_EXPR(dynamic_function_invocation_expr, sctx, udf, loc, anExpr, args, dotVars);
+}
+
+
+argument_placeholder_expr*
+ExprManager::create_argument_placeholder_expr(
+    static_context* sctx,
+    user_function* udf,
+    const QueryLoc& loc)
+{
+  CREATE_AND_RETURN_EXPR(argument_placeholder_expr, sctx, udf, loc);
 }
 
 
@@ -800,20 +810,25 @@
     static_context* sctx,
     user_function* udf,
     const QueryLoc& loc,
-    const store::Item* aQName,
+    static_context* closureSctx,
     function* f,
-    uint32_t aArity)
+    store::Item* aQName,
+    uint32_t aArity,
+    bool isInline,
+    bool needsContextItem)
 {
-  CREATE_AND_RETURN_EXPR(function_item_expr, sctx, udf, loc, aQName, f, aArity);
+  CREATE_AND_RETURN_EXPR(function_item_expr, sctx, udf, loc, closureSctx, f, aQName, aArity, isInline, needsContextItem);
 }
 
 
-function_item_expr* ExprManager::create_function_item_expr(
-    static_context* sctx,
+function_item_expr* ExprManager::create_function_item_expr(static_context* sctx,
     user_function* udf,
-    const QueryLoc& loc)
+    const QueryLoc& loc,
+    static_context *closureSctx,
+    bool isInline,
+    bool needsContextItem)
 {
-  CREATE_AND_RETURN_EXPR(function_item_expr, sctx, udf, loc);
+  CREATE_AND_RETURN_EXPR(function_item_expr, sctx, udf, loc, closureSctx, isInline, needsContextItem);
 }
 
 

=== modified file 'src/compiler/expression/expr_manager.h'
--- src/compiler/expression/expr_manager.h	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_manager.h	2013-02-27 02:43:25 +0000
@@ -482,20 +482,31 @@
       user_function* udf,
       const QueryLoc& loc,
       expr* anExpr,
-      const std::vector<expr*>& args);
+      const std::vector<expr*>& args,
+      const std::vector<expr*>& dotVars);
 
-  function_item_expr* create_function_item_expr(
+  argument_placeholder_expr* create_argument_placeholder_expr(
       static_context* sctx,
       user_function* udf,
+      const QueryLoc& loc);
+
+  function_item_expr* create_function_item_expr(static_context* sctx,
+      user_function* udf,
       const QueryLoc& loc,
-      const store::Item* aQName,
+      static_context *closureSctx,
       function* f,
-      uint32_t aArity);
+      store::Item* aQName,
+      uint32_t aArity,
+      bool isInline,
+      bool needsContextItem);
 
   function_item_expr* create_function_item_expr(
       static_context* sctx,
-      user_function* udf,
-      const QueryLoc& loc);
+      user_function* udf,      
+      const QueryLoc& loc,
+      static_context *closureSctx,
+      bool isInline,
+      bool needsContextItem);
 
   ftcontains_expr* create_ftcontains_expr(
       static_context*,
@@ -609,7 +620,7 @@
       user_function* udf,
       const QueryLoc& loc,
       bool general);
- 
+
   pragma* create_pragma(
       const store::Item_t&,
       const zstring&);

=== modified file 'src/compiler/expression/expr_put.cpp'
--- src/compiler/expression/expr_put.cpp	2013-01-12 22:10:40 +0000
+++ src/compiler/expression/expr_put.cpp	2013-02-27 02:43:25 +0000
@@ -152,7 +152,10 @@
 
     BEGIN_PUT_NO_EOL(vref) ;
     put_qname(varExpr->get_name(), os);
-    os << expr_addr(varExpr) << " ]" << endl;
+    os << expr_addr(varExpr);
+    os << " kind=" << var_expr::decode_var_kind(varExpr->get_kind()); // TODO: remove this info
+    os << " uniqueId=" << varExpr->get_unique_id(); // TODO: remove this info
+    os << " ]" << endl;
     return os;
   }
   else
@@ -185,6 +188,11 @@
     put_qname(get_name(), os);
   }
 
+  if (get_kind() == prolog_var || get_kind() == hof_var)
+  {
+    os << " uniqueId=" << theUniqueId;
+  }
+
 #if VERBOSE
   if (theDeclaredType != NULL)
   {
@@ -224,7 +232,7 @@
   }
 
   os << endl << indent << "[\n" << inc_indent;
-    
+
   theDomainExpr->put(os);
 
   END_PUT();
@@ -500,7 +508,7 @@
 ostream& fo_expr::put(ostream& os) const
 {
   const store::Item* qname = theFunction->getName();
-  BEGIN_PUT_MSG( qname->getStringValue() << "/" << num_args() );
+  BEGIN_PUT_MSG( qname->getStringValue() << "#" << num_args() );
   csize numArgs = num_args();
 
   for (csize i = 0; i < numArgs; ++i)
@@ -526,18 +534,46 @@
 
 std::ostream& function_item_expr::put(std::ostream& os) const
 {
-  os << indent << "funtion_item_expr " << expr_addr(this) << inc_indent;
+  os << indent << "funtion_item_expr" << expr_addr(this) << inc_indent;
 
-  if (theQName != NULL)
+  // TODO: delete
+  // if (theDynamicFunctionInfo->theQName != NULL)
+  if (!is_inline())
   {
-    os << " " << theQName->getStringValue() << "/" << theArity;
+    os << " " << theDynamicFunctionInfo->theQName->getStringValue()
+       << "#" << theDynamicFunctionInfo->theArity;
     os << dec_indent << endl;
     return os;
   }
   else
   {
-    os << " inline udf (" << theFunction.getp() << ") [\n";
-    reinterpret_cast<const user_function*>(theFunction.getp())->getBody()->put(os);
+    os << " " << theDynamicFunctionInfo->theQName->getStringValue()
+       << "#" << theDynamicFunctionInfo->theArity << " [\n";
+
+    const signature& sig = get_function()->getSignature();
+    std::vector<xqtref_t> paramTypes;
+    for (csize i=0; i < sig.paramCount(); i++)
+      paramTypes.push_back(sig[i]);
+    xqtref_t funcType = get_type_manager()->create_function_type(paramTypes, sig.returnType(), TypeConstants::QUANT_ONE);
+
+    // TODO: remove type
+    os << indent << "type: " << funcType->toString() << std::endl;
+
+    for (ulong i = 0; i < theDynamicFunctionInfo->theScopedVarsValues.size(); i++)
+    {
+      os << indent << "using $"
+         << theDynamicFunctionInfo->theScopedVarsNames[i]->getStringValue()
+         << (theDynamicFunctionInfo->theIsGlobalVar[i] ? " global=1" : "") << " := [";
+      os << endl << inc_indent;
+      if (theDynamicFunctionInfo->theScopedVarsValues[i])
+        theDynamicFunctionInfo->theScopedVarsValues[i]->put(os);
+      os << dec_indent << indent << "]" << endl;
+    }
+
+    if (theDynamicFunctionInfo->theFunction != NULL &&
+        static_cast<user_function*>(theDynamicFunctionInfo->theFunction.getp())->getBody() != NULL)
+      static_cast<user_function*>(theDynamicFunctionInfo->theFunction.getp())->getBody()->put(os);
+
     END_PUT();
   }
 }
@@ -546,16 +582,31 @@
 ostream& dynamic_function_invocation_expr::put(ostream& os) const
 {
   BEGIN_PUT( dynamic_function_invocation_expr );
-
+ 
   theExpr->put(os);
-
+ 
   for (csize i = 0; i < theArgs.size(); ++i)
     theArgs[i]->put(os);
+  
+  for (csize i = 0; i < theDotVars.size(); i++)
+    if (theDotVars[i] != NULL)
+    {
+      os << indent << "using $"; 
+      theDotVars[i]->put(os);
+    }
 
   END_PUT();
 }
 
 
+ostream& argument_placeholder_expr::put(ostream& os) const
+{
+  BEGIN_PUT_NO_EOL( argument_placeholder_expr );
+  os << "? ]\n";
+  return os;
+}
+
+
 ostream& instanceof_expr::put( ostream& os) const
 {
   BEGIN_PUT_MSG("instanceof_expr " << theTargetType->toSchemaString());
@@ -743,7 +794,7 @@
 
   if (theValue->isFunction())
   {
-    os << "functrion item [ " << theValue->show() << " ]";
+    os << "function item [ " << theValue->show() << " ]";
   }
   else
   {

=== modified file 'src/compiler/expression/expr_type.cpp'
--- src/compiler/expression/expr_type.cpp	2013-02-08 12:26:54 +0000
+++ src/compiler/expression/expr_type.cpp	2013-02-27 02:43:25 +0000
@@ -259,6 +259,7 @@
     case var_expr::catch_var: // TODO
     case var_expr::arg_var:
     case var_expr::eval_var:
+    case var_expr::hof_var:
     {
       break;
     }
@@ -629,6 +630,12 @@
     return;
   }
 
+  case argument_placeholder_expr_kind:
+  {
+    theType = rtm.ITEM_TYPE_STAR;
+    return;
+  }
+
   case function_item_expr_kind:
   {
     theType = rtm.ANY_FUNCTION_TYPE_ONE;

=== modified file 'src/compiler/expression/expr_visitor.h'
--- src/compiler/expression/expr_visitor.h	2013-01-11 22:58:12 +0000
+++ src/compiler/expression/expr_visitor.h	2013-02-27 02:43:25 +0000
@@ -1,12 +1,12 @@
 /*
  * Copyright 2006-2008 The FLWOR Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,7 +20,7 @@
 #include <zorba/config.h>
 #include "compiler/expression/expr_classes.h"
 
-namespace zorba 
+namespace zorba
 {
 
 #ifndef ZORBA_NO_FULL_TEXT
@@ -29,7 +29,7 @@
 
 class expr_visitor
 {
-public: 
+public:
 
   virtual ~expr_visitor() { }
 
@@ -78,6 +78,7 @@
   DECL_EXPR_VISITOR_VISIT_MEM_FNS( trycatch_expr );
   DECL_EXPR_VISITOR_VISIT_MEM_FNS( function_item_expr );
   DECL_EXPR_VISITOR_VISIT_MEM_FNS( dynamic_function_invocation_expr );
+  DECL_EXPR_VISITOR_VISIT_MEM_FNS( argument_placeholder_expr );
 
   DECL_EXPR_VISITOR_VISIT_MEM_FNS(insert_expr);
   DECL_EXPR_VISITOR_VISIT_MEM_FNS(delete_expr);

=== modified file 'src/compiler/expression/function_item_expr.cpp'
--- src/compiler/expression/function_item_expr.cpp	2012-10-09 14:06:08 +0000
+++ src/compiler/expression/function_item_expr.cpp	2013-02-27 02:43:25 +0000
@@ -15,6 +15,8 @@
  */
 #include "stdafx.h"
 
+#include "store/api/item_factory.h"
+
 #include "compiler/expression/function_item_expr.h"
 #include "compiler/expression/expr_visitor.h"
 
@@ -27,7 +29,7 @@
 namespace zorba {
 
 
-DEF_EXPR_ACCEPT (dynamic_function_invocation_expr)
+DEF_EXPR_ACCEPT (dynamic_function_invocation_expr);
 
 
 dynamic_function_invocation_expr::dynamic_function_invocation_expr(
@@ -36,11 +38,13 @@
     user_function* udf,
     const QueryLoc& loc,
     expr* anExpr,
-    const std::vector<expr*>& args)
+    const std::vector<expr*>& args,
+    const std::vector<expr*>& dotVars)
   :
   expr(ccb, sctx, udf, loc, dynamic_function_invocation_expr_kind),
   theExpr(anExpr),
-  theArgs(args)
+  theArgs(args),
+  theDotVars(dotVars)
 {
   assert(anExpr != 0);
   compute_scripting_kind();
@@ -61,7 +65,19 @@
 
 ********************************************************************************/
 
-DEF_EXPR_ACCEPT (function_item_expr)
+DEF_EXPR_ACCEPT (argument_placeholder_expr);
+
+void argument_placeholder_expr::compute_scripting_kind()
+{
+  theScriptingKind = SIMPLE_EXPR;
+}
+
+
+/*******************************************************************************
+
+********************************************************************************/
+
+DEF_EXPR_ACCEPT (function_item_expr);
 
 
 function_item_expr::function_item_expr(
@@ -69,17 +85,28 @@
     static_context* sctx,
     user_function* udf,
     const QueryLoc& loc,
-    const store::Item* aQName,
+    static_context* closureSctx,
     function* f,
-    uint32_t aArity)
+    store::Item* aQName,
+    uint32_t aArity,
+    bool isInline,
+    bool needsContextItem)
   :
   expr(ccb, sctx, udf, loc, function_item_expr_kind),
-  theQName(const_cast<store::Item*>(aQName)),
-  theFunction(f),
-  theArity(aArity)
+  theDynamicFunctionInfo(new DynamicFunctionInfo(
+                         loc,
+                         closureSctx,
+                         f,
+                         aQName,
+                         aArity,
+                         isInline,
+                         needsContextItem))
 {
   assert(f != NULL);
   compute_scripting_kind();
+
+  // std::cerr << "--> created function_item_expr: " << this // << " with DynamicFunctionInfo: " << theDynamicFunctionInfo << " counter: " << theDynamicFunctionInfo->getRefCount()
+  //          << std::endl;
 }
 
 
@@ -87,46 +114,45 @@
     CompilerCB* ccb,
     static_context* sctx,
     user_function* udf,
-    const QueryLoc& loc)
+    const QueryLoc& loc,
+    static_context* closureSctx,
+    bool isInline,
+    bool needsContextItem)
   :
   expr(ccb, sctx, udf, loc, function_item_expr_kind),
-  theQName(0),
-  theFunction(NULL),
-  theArity(0)
+  theDynamicFunctionInfo(new DynamicFunctionInfo(
+                         loc,
+                         closureSctx,
+                         NULL,
+                         NULL,
+                         0,
+                         isInline,
+                         needsContextItem))
 {
   theScriptingKind = SIMPLE_EXPR;
+  // std::cerr << "--> created function_item_expr: " << this // << " with DynamicFunctionInfo: " << theDynamicFunctionInfo << " counter: " << theDynamicFunctionInfo->getRefCount()
+  //            << std::endl;
 }
 
 
 function_item_expr::~function_item_expr()
 {
-}
-
-
-user_function* function_item_expr::get_function() const 
-{
-  assert(theFunction->isUdf());
-  return static_cast<user_function*>(theFunction.getp());
-}
-
-
-void function_item_expr::add_variable(expr* var)
-{
-  theScopedVariables.push_back(var);
-}
-
-
-const std::vector<expr*>& function_item_expr::get_vars() const
-{
-  return theScopedVariables;
-}
-
-
-void function_item_expr::set_function(user_function_t& udf)
-{
-  theFunction = udf;
-  theArity = udf->getArity();
-  compute_scripting_kind();
+  // std::cerr << "--> deleted ~function_item_expr: " << this // << " with DynamicFunctionInfo: " << theDynamicFunctionInfo << " counter: " << theDynamicFunctionInfo->getRefCount()
+  //          << std::endl;
+}
+
+void function_item_expr::add_variable(expr* var, var_expr* substVar, const store::Item_t& name, int isGlobal)
+{
+  theDynamicFunctionInfo->add_variable(var, substVar, name, isGlobal);
+}
+
+
+void function_item_expr::set_function(user_function* udf)
+{
+  theDynamicFunctionInfo->theFunction = udf;
+  theDynamicFunctionInfo->theArity = udf->getArity();
+  theDynamicFunctionInfo->theQName = udf->getName();
+  // compute_scripting_kind();
 }
 
 
@@ -136,6 +162,17 @@
   theScriptingKind = SIMPLE_EXPR;
 }
 
+store::Item_t function_item_expr::create_inline_fname(const QueryLoc& loc) 
+{
+  store::Item_t name;
+  std::stringstream ss;
+  ss << "inline function(";
+  ss << loc;
+  ss << ")";
+  GENV_ITEMFACTORY->createQName(name, "", "", ss.str());
+  return name;
+}
+
 
 }//end of namespace
 /* vim:set et sw=2 ts=2: */

=== modified file 'src/compiler/expression/function_item_expr.h'
--- src/compiler/expression/function_item_expr.h	2012-10-09 14:06:08 +0000
+++ src/compiler/expression/function_item_expr.h	2013-02-27 02:43:25 +0000
@@ -23,9 +23,38 @@
 
 #include "store/naive/shared_types.h"
 
+#include "runtime/function_item/function_item.h"
+
+
 namespace zorba {
 
 /*******************************************************************************
+  [133]     ArgumentPlaceholder      ::=      "?"
+********************************************************************************/
+class argument_placeholder_expr : public expr
+{
+  friend class ExprIterator;
+  friend class expr;
+  friend class ExprManager;
+
+protected:
+  argument_placeholder_expr(CompilerCB* ccb, static_context* sctx, user_function* udf, const QueryLoc& loc)
+    :
+    expr(ccb, sctx, udf, loc, argument_placeholder_expr_kind)
+  {
+    compute_scripting_kind();
+  }
+
+public:
+  void compute_scripting_kind();
+
+  void accept(expr_visitor&);
+
+  std::ostream& put(std::ostream& os) const;
+};
+
+
+/*******************************************************************************
 
   [121] FilterExpr ::= PrimaryExpr (Predicate | DynamicFunctionInvocation)*
 
@@ -43,20 +72,24 @@
 protected:
   expr                * theExpr;
   std::vector<expr*>    theArgs;
+  
+  std::vector<expr*>    theDotVars; // context item vars
 
 protected:
-  dynamic_function_invocation_expr(
-      CompilerCB* ccb,
+  dynamic_function_invocation_expr(CompilerCB* ccb,
       static_context* sctx,
       user_function* udf,
       const QueryLoc& loc,
       expr* anExpr,
-      const std::vector<expr*>& args);
+      const std::vector<expr*>& args,
+      const std::vector<expr*>& dotVars);
 
 public:
   const expr* get_function() const { return theExpr; }
 
   const std::vector<expr*>& get_args() const { return theArgs; }
+  
+  const std::vector<expr*>& get_dot_vars() const { return theDotVars; }
 
   void compute_scripting_kind();
 
@@ -74,10 +107,6 @@
 
   InlineFunction ::= "function" "(" ParamList? ")" ("as" SequenceType)? EnclosedExpr
 
-  theQName :
-  NULL in case of inline function. Otherwise, the qname of the named function
-  in the LiteralFunctionItem.
-
   theFunction :
   This is always a pointer to a user_function obj. In case of an inline function
   expr, it is an anonymous user_function obj that is created on-the-fly by the
@@ -103,50 +132,66 @@
   friend class expr;
   friend class ExprManager;
 
-private:
-  store::Item_t       theQName;
-  function_t          theFunction;
-  uint32_t            theArity;
-  std::vector<expr*>  theScopedVariables;
-
-public:
-
+protected:
+  DynamicFunctionInfo_t       theDynamicFunctionInfo;
+  
 protected:
   function_item_expr(
       CompilerCB* ccb,
       static_context* sctx,
       user_function* udf,
       const QueryLoc& loc,
-      const store::Item* aQName,
+      static_context* closureSctx,
       function* f,
-      uint32_t aArity);
+      store::Item* aQName,
+      uint32_t aArity,
+      bool isInline,
+      bool needsContextItem);
 
   function_item_expr(
       CompilerCB* ccb,
       static_context* sctx,
       user_function* udf,
-      const QueryLoc& loc);
-
+      const QueryLoc& loc,
+      static_context* closureSctx,
+      bool isInline,
+      bool needsContextItem);
+  
+  virtual ~function_item_expr();
+  
 public:
-  ~function_item_expr();
-
-  void add_variable(expr* var);
-
-  void set_function(user_function_t& udf);
-
-  user_function* get_function() const;
-
-  const store::Item_t& get_qname() const { return theQName; }
-
-  uint32_t get_arity() const { return theArity; }
-
-  const std::vector<expr*>& get_vars() const;
+  DynamicFunctionInfo* get_dynamic_fn_info() { return theDynamicFunctionInfo; }
+
+  void add_variable(expr* var, var_expr* substVar, const store::Item_t& name, int isGlobal);
+
+  const std::vector<var_expr*>& get_subst_vars_values() const { return theDynamicFunctionInfo->theSubstVarsValues; }
+
+  const std::vector<store::Item_t>& get_scoped_vars_names() const { return theDynamicFunctionInfo->theScopedVarsNames; }
+
+  const std::vector<int>& get_is_global_var() const { return theDynamicFunctionInfo->theIsGlobalVar; }
+
+  void set_function(user_function* udf);
+
+  function* get_function() const { return theDynamicFunctionInfo->theFunction; }
+
+  const store::Item_t& get_qname() const { return theDynamicFunctionInfo->theQName; }
+
+  uint32_t get_arity() const { return theDynamicFunctionInfo->theArity; }
+  
+  bool is_inline() const { return theDynamicFunctionInfo->theIsInline; }
+  
+  bool needs_context_item() const { return theDynamicFunctionInfo->theNeedsContextItem; }
 
   void compute_scripting_kind();
 
   void accept(expr_visitor&);
 
   std::ostream& put(std::ostream& os) const;
+  
+public:
+  // Given a location, will create an inline function name string such 
+  // as "inline function(loc)"
+  static store::Item_t create_inline_fname(const QueryLoc& loc);
 };
 
 } //end of namespace

=== modified file 'src/compiler/expression/var_expr.cpp'
--- src/compiler/expression/var_expr.cpp	2012-12-12 16:15:04 +0000
+++ src/compiler/expression/var_expr.cpp	2013-02-27 02:43:25 +0000
@@ -53,6 +53,7 @@
   case count_var: return "CNT"; break;
   case score_var: return "SCORE"; break;
   case prolog_var: return "PROLOG"; break;
+  case hof_var: return "HOF"; break;
   case local_var: return "LOCAL"; break;
   case catch_var: return "CATCH"; break;
   case copy_var: return "COPY"; break;
@@ -315,7 +316,7 @@
 ********************************************************************************/
 void var_expr::remove_set_expr(expr* e)
 {
-  assert(theVarKind == local_var || theVarKind == prolog_var);
+  assert(theVarKind == local_var || theVarKind == prolog_var || theVarKind == hof_var);
 
   bool found = false;
   VarSetExprs::iterator ite = theSetExprs.begin();

=== modified file 'src/compiler/expression/var_expr.h'
--- src/compiler/expression/var_expr.h	2012-12-12 16:15:04 +0000
+++ src/compiler/expression/var_expr.h	2013-02-27 02:43:25 +0000
@@ -145,6 +145,8 @@
 
     prolog_var,
 
+    hof_var,      // used by HoF functions, behaves similarly to prolog vars
+
     local_var,
 
     arg_var

=== modified file 'src/compiler/parser/xquery_parser.cpp'
--- src/compiler/parser/xquery_parser.cpp	2013-01-30 05:26:46 +0000
+++ src/compiler/parser/xquery_parser.cpp	2013-02-27 02:43:25 +0000
@@ -1,10 +1,8 @@
-
-/* A Bison parser, made by GNU Bison 2.4.1.  */
+/* A Bison parser, made by GNU Bison 2.5.  */
 
 /* Skeleton implementation for Bison LALR(1) parsers in C++
    
-      Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
-   Foundation, Inc.
+      Copyright (C) 2002-2011 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
@@ -37,8 +35,8 @@
 
 /* First part of user declarations.  */
 
-/* Line 311 of lalr1.cc  */
-#line 87 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 293 of lalr1.cc  */
+#line 87 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 
 
 #include "common/common.h"
@@ -74,16 +72,16 @@
 
 
 
-/* Line 311 of lalr1.cc  */
-#line 79 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+/* Line 293 of lalr1.cc  */
+#line 77 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 
 
 #include "xquery_parser.hpp"
 
 /* User implementation prologue.  */
 
-/* Line 317 of lalr1.cc  */
-#line 911 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 299 of lalr1.cc  */
+#line 911 "/home/colea/xquery_bzr/hof/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...
@@ -94,8 +92,8 @@
     }
 }
 
-/* Line 317 of lalr1.cc  */
-#line 1036 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 299 of lalr1.cc  */
+#line 1036 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 
 #include "compiler/parser/xquery_scanner.h"
 
@@ -104,11 +102,11 @@
 
 
 
-/* Line 317 of lalr1.cc  */
-#line 109 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+/* Line 299 of lalr1.cc  */
+#line 107 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 
 #ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -119,6 +117,26 @@
 # 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))
 
@@ -168,14 +186,10 @@
 #define YYRECOVERING()  (!!yyerrstatus_)
 
 
-/* Line 380 of lalr1.cc  */
-#line 1 "[Bison:b4_percent_define_default]"
-
 namespace zorba {
 
-/* 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
+/* Line 382 of lalr1.cc  */
+#line 193 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -214,7 +228,6 @@
     return yystr;
   }
 
-#endif
 
   /// Build a parser object.
   xquery_parser::xquery_parser (xquery_driver& driver_yyarg)
@@ -277,2540 +290,2540 @@
         case 110: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 909 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 909 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 285 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 298 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 124: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 908 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 908 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 294 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 307 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 149: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 907 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 907 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 303 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 316 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 338: /* "VersionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 312 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 325 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 339: /* "MainModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 321 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 334 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 340: /* "LibraryModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 330 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 343 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 341: /* "ModuleDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 339 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 352 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 342: /* "SIND_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 348 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 361 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 343: /* "SIND_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 357 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 370 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 344: /* "Setter" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 366 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 379 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 345: /* "BoundarySpaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 375 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 388 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 346: /* "DefaultCollationDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 384 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 397 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 347: /* "BaseURIDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 393 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 406 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 348: /* "ConstructionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 402 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 415 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 349: /* "OrderingModeDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 411 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 424 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 350: /* "EmptyOrderDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 420 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 433 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 351: /* "CopyNamespacesDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 429 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 442 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 352: /* "Import" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 438 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 451 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 353: /* "SchemaImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 447 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 460 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 354: /* "URILiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 456 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 469 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 355: /* "SchemaPrefix" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 465 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 478 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 356: /* "ModuleImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 474 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 487 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 357: /* "NamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 483 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 496 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 358: /* "DefaultNamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 492 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 505 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 359: /* "VFO_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 501 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 514 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 360: /* "VFO_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 510 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 523 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 361: /* "DecimalFormatDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 519 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 532 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 362: /* "DecimalFormatParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 528 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 541 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 363: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 537 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 550 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 365: /* "OptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 546 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 559 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 366: /* "FTOptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 555 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 568 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 367: /* "CtxItemDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 564 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 577 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 368: /* "CtxItemDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 573 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 586 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 369: /* "CtxItemDecl3" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 582 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 595 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 370: /* "CtxItemDecl4" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 591 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 604 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 371: /* "VarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 600 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 613 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 372: /* "VarNameAndType" */
 
 /* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 609 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 622 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 373: /* "AnnotationList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 618 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 631 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 374: /* "Annotation" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 627 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 640 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 375: /* "AnnotationLiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 636 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 649 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 376: /* "FunctionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 645 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 658 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 377: /* "FunctionDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 654 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 667 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 378: /* "FunctionDeclSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 663 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 676 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 379: /* "FunctionDeclUpdating" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 672 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 685 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 380: /* "FunctionSig" */
 
 /* Line 480 of lalr1.cc  */
-#line 935 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 935 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 681 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 694 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 381: /* "ParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 690 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 703 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 382: /* "Param" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 699 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 712 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 383: /* "CollectionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 708 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 721 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 385: /* "IndexDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 717 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 730 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 386: /* "IndexKeyList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 726 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 739 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 387: /* "IndexKeySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 735 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 748 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 388: /* "IntegrityConstraintDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 744 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 757 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 389: /* "QueryBody" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 753 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 766 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 390: /* "StatementsAndOptionalExprTop" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 762 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 775 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 391: /* "StatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 771 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 784 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 392: /* "StatementsAndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 780 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 793 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 393: /* "Statements" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 789 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 802 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 394: /* "Statement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 798 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 811 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 395: /* "BlockStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 820 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 396: /* "BlockExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 829 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 397: /* "EnclosedStatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 825 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 838 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 398: /* "VarDeclStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 834 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 847 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 401: /* "AssignStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 843 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 856 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 402: /* "ApplyStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 852 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 865 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 403: /* "ExitStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 861 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 874 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 404: /* "WhileStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 870 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 883 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 405: /* "FlowCtlStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 879 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 892 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 406: /* "FLWORStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 888 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 901 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 407: /* "ReturnStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 897 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 910 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 408: /* "IfStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 906 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 919 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 409: /* "TryStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 915 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 928 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 410: /* "CatchListStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 937 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 411: /* "CatchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 933 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 946 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 412: /* "Expr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 942 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 955 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 413: /* "ExprSingle" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 951 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 964 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 414: /* "ExprSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 960 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 973 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 415: /* "FLWORExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 969 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 982 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 416: /* "ReturnExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 978 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 991 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 419: /* "FLWORWinCond" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 987 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1000 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 420: /* "WindowClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 996 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1009 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 421: /* "CountClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1005 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1018 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 422: /* "ForLetWinClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1014 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1027 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 424: /* "FLWORClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1023 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1036 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 425: /* "ForClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1032 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1045 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 426: /* "VarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1041 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1054 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 427: /* "VarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1050 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1063 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 428: /* "PositionalVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1059 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1072 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 429: /* "FTScoreVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1068 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1081 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 430: /* "LetClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1077 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1090 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 431: /* "VarGetsDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1086 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1099 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 432: /* "VarGetsDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1095 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1108 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 433: /* "WindowVarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1104 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1117 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 434: /* "WindowVars" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1113 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1126 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 435: /* "WindowVars3" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1122 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1135 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 436: /* "WindowVars2" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1131 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1144 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 437: /* "WhereClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1140 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1153 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 438: /* "GroupByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1149 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1162 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 439: /* "GroupSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1158 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1171 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 440: /* "GroupSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1167 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1180 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 441: /* "GroupCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1176 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1189 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 442: /* "OrderByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1185 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1198 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 443: /* "OrderSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1194 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1207 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 444: /* "OrderSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1203 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1216 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 445: /* "OrderModifier" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1212 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1225 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 446: /* "OrderDirSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1221 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1234 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 447: /* "OrderEmptySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1230 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1243 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 448: /* "OrderCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1239 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1252 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 449: /* "QuantifiedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1248 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1261 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 450: /* "QVarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1257 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1270 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 451: /* "QVarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1266 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1279 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 452: /* "SwitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1275 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1288 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 453: /* "SwitchCaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1284 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1297 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 454: /* "SwitchCaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1293 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1306 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 455: /* "SwitchCaseOperandList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1302 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1315 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 456: /* "SwitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1311 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1324 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 459: /* "TypeswitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1320 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1333 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 460: /* "TypeswitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 932 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 932 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1329 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1342 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 461: /* "CaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1338 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 1351 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 462: /* "CaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1360 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1369 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1378 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1387 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1396 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1405 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1414 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1423 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 1432 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1441 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1450 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1459 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1468 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1477 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1486 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1495 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1504 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1513 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1522 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1531 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1540 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1549 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1558 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1567 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1576 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1585 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1594 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1603 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1612 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1621 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1630 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1639 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1648 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1657 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1666 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1675 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1684 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1693 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1702 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1711 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1720 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1729 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1738 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1747 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1756 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1765 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1774 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1783 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1792 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1801 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1810 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1819 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1828 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1837 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1846 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1855 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1864 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1873 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1882 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1891 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1900 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1909 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1918 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1927 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1936 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1945 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 1954 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1963 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1972 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1981 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1990 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 1999 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2008 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2017 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2026 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2035 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2044 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2053 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2062 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2071 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2080 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2089 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2098 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2107 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2116 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2125 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2134 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2143 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2152 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2161 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2170 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2179 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2188 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2197 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2206 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2215 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2224 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2233 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2242 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2251 "/home/colea/xquery_bzr/hof/build/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"
+#line 923 "/home/colea/xquery_bzr/hof/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"
+#line 2260 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2269 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2278 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2287 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2296 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2305 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2314 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2323 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2332 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2341 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2350 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2359 "/home/colea/xquery_bzr/hof/build/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"
+#line 935 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2355 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 2368 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2377 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2386 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2395 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2404 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2413 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2422 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2431 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2440 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2449 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2458 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2467 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2476 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2485 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2494 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2503 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2512 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2521 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2530 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2539 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2548 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2557 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2566 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2575 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2584 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2593 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2602 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2611 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2620 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2629 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2638 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2647 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2656 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2665 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2674 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2683 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2692 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2701 "/home/colea/xquery_bzr/hof/build/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"
+#line 926 "/home/colea/xquery_bzr/hof/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"
+#line 2710 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2719 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2728 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2737 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2746 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2755 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2764 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2773 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2782 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2791 "/home/colea/xquery_bzr/hof/build/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"
+#line 929 "/home/colea/xquery_bzr/hof/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"
+#line 2800 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2809 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2818 "/home/colea/xquery_bzr/hof/build/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"
+#line 932 "/home/colea/xquery_bzr/hof/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"
+#line 2827 "/home/colea/xquery_bzr/hof/build/src/compiler/parser/xquery_parser.cpp"
 	break;
 
 	default:
@@ -2853,6 +2866,18 @@
   }
 #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 ()
   {
@@ -2874,7 +2899,7 @@
     /// Location of the lookahead.
     location_type yylloc;
     /// The locations where the error started and ended.
-    location_type yyerror_range[2];
+    location_type yyerror_range[3];
 
     /// $$.
     semantic_type yyval;
@@ -2888,14 +2913,14 @@
 
     /* User initialization code.  */
     
-/* Line 553 of lalr1.cc  */
-#line 140 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 565 of lalr1.cc  */
+#line 140 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
-/* Line 553 of lalr1.cc  */
-#line 2899 "/home/markos/zorba/repo/union-sequence-types/build-opt/src/compiler/parser/xquery_parser.cpp"
+/* Line 565 of lalr1.cc  */
+#line 2924 "/home/colea/xquery_bzr/hof/build/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
@@ -2923,7 +2948,7 @@
 
     /* Try to take a decision without lookahead.  */
     yyn = yypact_[yystate];
-    if (yyn == yypact_ninf_)
+    if (yy_pact_value_is_default_ (yyn))
       goto yydefault;
 
     /* Read a lookahead token.  */
@@ -2956,8 +2981,8 @@
     yyn = yytable_[yyn];
     if (yyn <= 0)
       {
-	if (yyn == 0 || yyn == yytable_ninf_)
-	goto yyerrlab;
+	if (yy_table_value_is_error_ (yyn))
+	  goto yyerrlab;
 	yyn = -yyn;
 	goto yyreduce;
       }
@@ -3013,8 +3038,8 @@
       {
 	  case 3:
 
-/* Line 678 of lalr1.cc  */
-#line 1054 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1054 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3022,8 +3047,8 @@
 
   case 4:
 
-/* Line 678 of lalr1.cc  */
-#line 1058 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1058 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3031,8 +3056,8 @@
 
   case 5:
 
-/* Line 678 of lalr1.cc  */
-#line 1062 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1062 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       }
@@ -3040,8 +3065,8 @@
 
   case 6:
 
-/* Line 678 of lalr1.cc  */
-#line 1070 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1070 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL;
       }
@@ -3049,8 +3074,8 @@
 
   case 7:
 
-/* Line 678 of lalr1.cc  */
-#line 1076 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1076 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3058,8 +3083,8 @@
 
   case 8:
 
-/* Line 678 of lalr1.cc  */
-#line 1080 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1080 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3067,8 +3092,8 @@
 
   case 9:
 
-/* Line 678 of lalr1.cc  */
-#line 1089 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1089 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3077,8 +3102,8 @@
 
   case 10:
 
-/* Line 678 of lalr1.cc  */
-#line 1095 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1095 "/home/colea/xquery_bzr/hof/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)) );
@@ -3089,8 +3114,8 @@
 
   case 11:
 
-/* Line 678 of lalr1.cc  */
-#line 1103 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1103 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3099,8 +3124,8 @@
 
   case 12:
 
-/* Line 678 of lalr1.cc  */
-#line 1109 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1109 "/home/colea/xquery_bzr/hof/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)) );
@@ -3111,8 +3136,8 @@
 
   case 13:
 
-/* Line 678 of lalr1.cc  */
-#line 1120 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1120 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3120,8 +3145,8 @@
 
   case 14:
 
-/* Line 678 of lalr1.cc  */
-#line 1125 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1125 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3129,8 +3154,8 @@
 
   case 15:
 
-/* Line 678 of lalr1.cc  */
-#line 1133 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1133 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
 
@@ -3140,8 +3165,8 @@
 
   case 16:
 
-/* Line 678 of lalr1.cc  */
-#line 1140 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1140 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
 
@@ -3151,8 +3176,8 @@
 
   case 17:
 
-/* Line 678 of lalr1.cc  */
-#line 1147 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1147 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3164,8 +3189,8 @@
 
   case 18:
 
-/* Line 678 of lalr1.cc  */
-#line 1156 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1156 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3173,8 +3198,8 @@
 
   case 19:
 
-/* Line 678 of lalr1.cc  */
-#line 1163 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1163 "/home/colea/xquery_bzr/hof/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();
@@ -3185,8 +3210,8 @@
 
   case 20:
 
-/* Line 678 of lalr1.cc  */
-#line 1171 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1171 "/home/colea/xquery_bzr/hof/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();
@@ -3197,8 +3222,8 @@
 
   case 21:
 
-/* Line 678 of lalr1.cc  */
-#line 1179 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1179 "/home/colea/xquery_bzr/hof/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();
@@ -3209,8 +3234,8 @@
 
   case 22:
 
-/* Line 678 of lalr1.cc  */
-#line 1187 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1187 "/home/colea/xquery_bzr/hof/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();
@@ -3221,8 +3246,8 @@
 
   case 23:
 
-/* Line 678 of lalr1.cc  */
-#line 1198 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1198 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3230,8 +3255,8 @@
 
   case 24:
 
-/* Line 678 of lalr1.cc  */
-#line 1203 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1203 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
 
@@ -3241,8 +3266,8 @@
 
   case 25:
 
-/* Line 678 of lalr1.cc  */
-#line 1210 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1210 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
 
@@ -3252,8 +3277,8 @@
 
   case 26:
 
-/* Line 678 of lalr1.cc  */
-#line 1217 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1217 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3265,8 +3290,8 @@
 
   case 27:
 
-/* Line 678 of lalr1.cc  */
-#line 1229 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1229 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
 
@@ -3276,8 +3301,8 @@
 
   case 28:
 
-/* Line 678 of lalr1.cc  */
-#line 1239 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1239 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3287,8 +3312,8 @@
 
   case 29:
 
-/* Line 678 of lalr1.cc  */
-#line 1246 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1246 "/home/colea/xquery_bzr/hof/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);
@@ -3297,8 +3322,8 @@
 
   case 30:
 
-/* Line 678 of lalr1.cc  */
-#line 1253 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1253 "/home/colea/xquery_bzr/hof/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
@@ -3310,8 +3335,8 @@
 
   case 44:
 
-/* Line 678 of lalr1.cc  */
-#line 1288 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1288 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3319,8 +3344,8 @@
 
   case 45:
 
-/* Line 678 of lalr1.cc  */
-#line 1293 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1293 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3328,8 +3353,8 @@
 
   case 46:
 
-/* Line 678 of lalr1.cc  */
-#line 1301 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1301 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3337,8 +3362,8 @@
 
   case 47:
 
-/* Line 678 of lalr1.cc  */
-#line 1309 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1309 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3346,8 +3371,8 @@
 
   case 48:
 
-/* Line 678 of lalr1.cc  */
-#line 1317 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1317 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3355,8 +3380,8 @@
 
   case 49:
 
-/* Line 678 of lalr1.cc  */
-#line 1322 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1322 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3364,8 +3389,8 @@
 
   case 50:
 
-/* Line 678 of lalr1.cc  */
-#line 1330 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1330 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3373,8 +3398,8 @@
 
   case 51:
 
-/* Line 678 of lalr1.cc  */
-#line 1335 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1335 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3382,8 +3407,8 @@
 
   case 52:
 
-/* Line 678 of lalr1.cc  */
-#line 1343 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1343 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3391,8 +3416,8 @@
 
   case 53:
 
-/* Line 678 of lalr1.cc  */
-#line 1348 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1348 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3400,8 +3425,8 @@
 
   case 54:
 
-/* Line 678 of lalr1.cc  */
-#line 1356 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1356 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, true);
     }
@@ -3409,8 +3434,8 @@
 
   case 55:
 
-/* Line 678 of lalr1.cc  */
-#line 1361 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1361 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), true, false);
     }
@@ -3418,8 +3443,8 @@
 
   case 56:
 
-/* Line 678 of lalr1.cc  */
-#line 1366 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1366 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, true);
     }
@@ -3427,8 +3452,8 @@
 
   case 57:
 
-/* Line 678 of lalr1.cc  */
-#line 1371 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1371 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)), false, false);
     }
@@ -3436,8 +3461,8 @@
 
   case 60:
 
-/* Line 678 of lalr1.cc  */
-#line 1384 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1384 "/home/colea/xquery_bzr/hof/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\".");
@@ -3447,8 +3472,8 @@
 
   case 61:
 
-/* Line 678 of lalr1.cc  */
-#line 1394 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1394 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3456,8 +3481,8 @@
 
   case 62:
 
-/* Line 678 of lalr1.cc  */
-#line 1399 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1399 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3468,8 +3493,8 @@
 
   case 63:
 
-/* Line 678 of lalr1.cc  */
-#line 1407 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1407 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3480,8 +3505,8 @@
 
   case 64:
 
-/* Line 678 of lalr1.cc  */
-#line 1415 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1415 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3492,8 +3517,8 @@
 
   case 65:
 
-/* Line 678 of lalr1.cc  */
-#line 1426 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1426 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3503,8 +3528,8 @@
 
   case 66:
 
-/* Line 678 of lalr1.cc  */
-#line 1433 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1433 "/home/colea/xquery_bzr/hof/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)) );
@@ -3515,8 +3540,8 @@
 
   case 67:
 
-/* Line 678 of lalr1.cc  */
-#line 1444 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1444 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3524,8 +3549,8 @@
 
   case 68:
 
-/* Line 678 of lalr1.cc  */
-#line 1449 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1449 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3533,8 +3558,8 @@
 
   case 69:
 
-/* Line 678 of lalr1.cc  */
-#line 1457 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1457 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
 
@@ -3544,8 +3569,8 @@
 
   case 70:
 
-/* Line 678 of lalr1.cc  */
-#line 1464 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1464 "/home/colea/xquery_bzr/hof/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);
 
@@ -3555,8 +3580,8 @@
 
   case 71:
 
-/* Line 678 of lalr1.cc  */
-#line 1471 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1471 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3568,8 +3593,8 @@
 
   case 72:
 
-/* Line 678 of lalr1.cc  */
-#line 1480 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1480 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
@@ -3582,8 +3607,8 @@
 
   case 73:
 
-/* Line 678 of lalr1.cc  */
-#line 1493 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1493 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3591,8 +3616,8 @@
 
   case 74:
 
-/* Line 678 of lalr1.cc  */
-#line 1501 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1501 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3602,8 +3627,8 @@
 
   case 75:
 
-/* Line 678 of lalr1.cc  */
-#line 1508 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1508 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3613,8 +3638,8 @@
 
   case 76:
 
-/* Line 678 of lalr1.cc  */
-#line 1518 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1518 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3624,8 +3649,8 @@
 
   case 77:
 
-/* Line 678 of lalr1.cc  */
-#line 1525 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1525 "/home/colea/xquery_bzr/hof/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);
@@ -3634,8 +3659,8 @@
 
   case 78:
 
-/* Line 678 of lalr1.cc  */
-#line 1532 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1532 "/home/colea/xquery_bzr/hof/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();
@@ -3646,8 +3671,8 @@
 
   case 87:
 
-/* Line 678 of lalr1.cc  */
-#line 1555 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1555 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3656,8 +3681,8 @@
 
   case 88:
 
-/* Line 678 of lalr1.cc  */
-#line 1561 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1561 "/home/colea/xquery_bzr/hof/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);
@@ -3666,8 +3691,8 @@
 
   case 89:
 
-/* Line 678 of lalr1.cc  */
-#line 1570 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1570 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3677,8 +3702,8 @@
 
   case 90:
 
-/* Line 678 of lalr1.cc  */
-#line 1577 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1577 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3688,8 +3713,8 @@
 
   case 91:
 
-/* Line 678 of lalr1.cc  */
-#line 1587 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1587 "/home/colea/xquery_bzr/hof/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() );
@@ -3699,78 +3724,78 @@
 
   case 92:
 
-/* Line 678 of lalr1.cc  */
-#line 1596 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1596 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 93:
 
-/* Line 678 of lalr1.cc  */
-#line 1597 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1597 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 94:
 
-/* Line 678 of lalr1.cc  */
-#line 1598 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1598 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 95:
 
-/* Line 678 of lalr1.cc  */
-#line 1599 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1599 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "infinty"; }
     break;
 
   case 96:
 
-/* Line 678 of lalr1.cc  */
-#line 1600 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1600 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 97:
 
-/* Line 678 of lalr1.cc  */
-#line 1601 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1601 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 98:
 
-/* Line 678 of lalr1.cc  */
-#line 1602 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1602 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 99:
 
-/* Line 678 of lalr1.cc  */
-#line 1603 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1603 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 100:
 
-/* Line 678 of lalr1.cc  */
-#line 1604 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1604 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 101:
 
-/* Line 678 of lalr1.cc  */
-#line 1605 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1605 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 102:
 
-/* Line 678 of lalr1.cc  */
-#line 1611 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1611 "/home/colea/xquery_bzr/hof/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)));
     }
@@ -3778,8 +3803,8 @@
 
   case 103:
 
-/* Line 678 of lalr1.cc  */
-#line 1619 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1619 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3787,8 +3812,8 @@
 
   case 104:
 
-/* Line 678 of lalr1.cc  */
-#line 1627 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1627 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3796,8 +3821,8 @@
 
   case 105:
 
-/* Line 678 of lalr1.cc  */
-#line 1635 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1635 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3807,8 +3832,8 @@
 
   case 106:
 
-/* Line 678 of lalr1.cc  */
-#line 1642 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1642 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3816,8 +3841,8 @@
 
   case 107:
 
-/* Line 678 of lalr1.cc  */
-#line 1650 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1650 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3827,8 +3852,8 @@
 
   case 108:
 
-/* Line 678 of lalr1.cc  */
-#line 1657 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1657 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3836,8 +3861,8 @@
 
   case 109:
 
-/* Line 678 of lalr1.cc  */
-#line 1662 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1662 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3845,8 +3870,8 @@
 
   case 110:
 
-/* Line 678 of lalr1.cc  */
-#line 1670 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1670 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3854,8 +3879,8 @@
 
   case 111:
 
-/* Line 678 of lalr1.cc  */
-#line 1678 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1678 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
 
@@ -3872,8 +3897,8 @@
 
   case 112:
 
-/* Line 678 of lalr1.cc  */
-#line 1692 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1692 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
 
@@ -3890,8 +3915,8 @@
 
   case 113:
 
-/* Line 678 of lalr1.cc  */
-#line 1706 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1706 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
 
@@ -3908,8 +3933,8 @@
 
   case 114:
 
-/* Line 678 of lalr1.cc  */
-#line 1723 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1723 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3917,8 +3942,8 @@
 
   case 115:
 
-/* Line 678 of lalr1.cc  */
-#line 1728 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1728 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3929,8 +3954,8 @@
 
   case 116:
 
-/* Line 678 of lalr1.cc  */
-#line 1736 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1736 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3941,8 +3966,8 @@
 
   case 117:
 
-/* Line 678 of lalr1.cc  */
-#line 1744 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1744 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3953,8 +3978,8 @@
 
   case 118:
 
-/* Line 678 of lalr1.cc  */
-#line 1755 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1755 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3962,8 +3987,8 @@
 
   case 119:
 
-/* Line 678 of lalr1.cc  */
-#line 1760 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1760 "/home/colea/xquery_bzr/hof/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);
@@ -3972,8 +3997,8 @@
 
   case 120:
 
-/* Line 678 of lalr1.cc  */
-#line 1769 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1769 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3981,8 +4006,8 @@
 
   case 121:
 
-/* Line 678 of lalr1.cc  */
-#line 1774 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1774 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -3992,8 +4017,8 @@
 
   case 122:
 
-/* Line 678 of lalr1.cc  */
-#line 1781 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1781 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -4001,8 +4026,8 @@
 
   case 123:
 
-/* Line 678 of lalr1.cc  */
-#line 1786 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1786 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -4012,8 +4037,8 @@
 
   case 124:
 
-/* Line 678 of lalr1.cc  */
-#line 1796 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1796 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -4021,8 +4046,8 @@
 
   case 125:
 
-/* Line 678 of lalr1.cc  */
-#line 1801 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1801 "/home/colea/xquery_bzr/hof/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);
@@ -4031,8 +4056,8 @@
 
   case 126:
 
-/* Line 678 of lalr1.cc  */
-#line 1810 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1810 "/home/colea/xquery_bzr/hof/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);
@@ -4041,8 +4066,8 @@
 
   case 127:
 
-/* Line 678 of lalr1.cc  */
-#line 1816 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1816 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
 
@@ -4055,8 +4080,8 @@
 
   case 128:
 
-/* Line 678 of lalr1.cc  */
-#line 1829 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1829 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4064,8 +4089,8 @@
 
   case 129:
 
-/* Line 678 of lalr1.cc  */
-#line 1834 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1834 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4073,8 +4098,8 @@
 
   case 130:
 
-/* Line 678 of lalr1.cc  */
-#line 1842 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1842 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4089,8 +4114,8 @@
 
   case 131:
 
-/* Line 678 of lalr1.cc  */
-#line 1853 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1853 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4105,8 +4130,8 @@
 
   case 132:
 
-/* Line 678 of lalr1.cc  */
-#line 1868 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1868 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4121,8 +4146,8 @@
 
   case 133:
 
-/* Line 678 of lalr1.cc  */
-#line 1880 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1880 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4137,8 +4162,8 @@
 
   case 134:
 
-/* Line 678 of lalr1.cc  */
-#line 1895 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1895 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4146,8 +4171,8 @@
 
   case 135:
 
-/* Line 678 of lalr1.cc  */
-#line 1900 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1900 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4155,8 +4180,8 @@
 
   case 136:
 
-/* Line 678 of lalr1.cc  */
-#line 1905 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1905 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4164,8 +4189,8 @@
 
   case 137:
 
-/* Line 678 of lalr1.cc  */
-#line 1910 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1910 "/home/colea/xquery_bzr/hof/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)));
     }
@@ -4173,8 +4198,8 @@
 
   case 138:
 
-/* Line 678 of lalr1.cc  */
-#line 1918 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1918 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4184,8 +4209,8 @@
 
   case 139:
 
-/* Line 678 of lalr1.cc  */
-#line 1925 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1925 "/home/colea/xquery_bzr/hof/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)) );
@@ -4196,8 +4221,8 @@
 
   case 140:
 
-/* Line 678 of lalr1.cc  */
-#line 1936 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1936 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4205,8 +4230,8 @@
 
   case 141:
 
-/* Line 678 of lalr1.cc  */
-#line 1941 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1941 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4216,8 +4241,8 @@
 
   case 142:
 
-/* Line 678 of lalr1.cc  */
-#line 1951 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1951 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4230,8 +4255,8 @@
 
   case 143:
 
-/* Line 678 of lalr1.cc  */
-#line 1960 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1960 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4244,8 +4269,8 @@
 
   case 144:
 
-/* Line 678 of lalr1.cc  */
-#line 1969 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1969 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4258,8 +4283,8 @@
 
   case 145:
 
-/* Line 678 of lalr1.cc  */
-#line 1978 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1978 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4272,8 +4297,8 @@
 
   case 146:
 
-/* Line 678 of lalr1.cc  */
-#line 1990 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1990 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4281,8 +4306,8 @@
 
   case 147:
 
-/* Line 678 of lalr1.cc  */
-#line 1994 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1994 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4292,8 +4317,8 @@
 
   case 148:
 
-/* Line 678 of lalr1.cc  */
-#line 2000 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2000 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4301,8 +4326,8 @@
 
   case 149:
 
-/* Line 678 of lalr1.cc  */
-#line 2004 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2004 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4313,8 +4338,8 @@
 
   case 150:
 
-/* Line 678 of lalr1.cc  */
-#line 2014 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2014 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4328,8 +4353,8 @@
 
   case 151:
 
-/* Line 678 of lalr1.cc  */
-#line 2024 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2024 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4343,8 +4368,8 @@
 
   case 152:
 
-/* Line 678 of lalr1.cc  */
-#line 2037 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2037 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4354,8 +4379,8 @@
 
   case 153:
 
-/* Line 678 of lalr1.cc  */
-#line 2043 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2043 "/home/colea/xquery_bzr/hof/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);
@@ -4364,8 +4389,8 @@
 
   case 154:
 
-/* Line 678 of lalr1.cc  */
-#line 2052 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2052 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
@@ -4373,8 +4398,8 @@
 
   case 155:
 
-/* Line 678 of lalr1.cc  */
-#line 2057 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2057 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4385,8 +4410,8 @@
 
   case 156:
 
-/* Line 678 of lalr1.cc  */
-#line 2064 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2064 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4397,8 +4422,8 @@
 
   case 157:
 
-/* Line 678 of lalr1.cc  */
-#line 2071 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2071 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4409,8 +4434,8 @@
 
   case 158:
 
-/* Line 678 of lalr1.cc  */
-#line 2083 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2083 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4422,8 +4447,8 @@
 
   case 159:
 
-/* Line 678 of lalr1.cc  */
-#line 2093 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2093 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4435,8 +4460,8 @@
 
   case 160:
 
-/* Line 678 of lalr1.cc  */
-#line 2103 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2103 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4448,8 +4473,8 @@
 
   case 161:
 
-/* Line 678 of lalr1.cc  */
-#line 2114 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2114 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4464,8 +4489,8 @@
 
   case 162:
 
-/* Line 678 of lalr1.cc  */
-#line 2130 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2130 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4485,8 +4510,8 @@
 
   case 163:
 
-/* Line 678 of lalr1.cc  */
-#line 2150 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2150 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4494,8 +4519,8 @@
 
   case 164:
 
-/* Line 678 of lalr1.cc  */
-#line 2154 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2154 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4503,8 +4528,8 @@
 
   case 165:
 
-/* Line 678 of lalr1.cc  */
-#line 2158 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2158 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  NULL;
     }
@@ -4512,8 +4537,8 @@
 
   case 166:
 
-/* Line 678 of lalr1.cc  */
-#line 2166 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2166 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4521,8 +4546,8 @@
 
   case 167:
 
-/* Line 678 of lalr1.cc  */
-#line 2170 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2170 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4530,8 +4555,8 @@
 
   case 168:
 
-/* Line 678 of lalr1.cc  */
-#line 2174 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2174 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  new BlockBody(LOC((yyloc)));
     }
@@ -4539,8 +4564,8 @@
 
   case 169:
 
-/* Line 678 of lalr1.cc  */
-#line 2182 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2182 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4548,8 +4573,8 @@
 
   case 170:
 
-/* Line 678 of lalr1.cc  */
-#line 2187 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2187 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4561,8 +4586,8 @@
 
   case 171:
 
-/* Line 678 of lalr1.cc  */
-#line 2199 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2199 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4572,8 +4597,8 @@
 
   case 172:
 
-/* Line 678 of lalr1.cc  */
-#line 2206 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2206 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4585,8 +4610,8 @@
 
   case 173:
 
-/* Line 678 of lalr1.cc  */
-#line 2216 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2216 "/home/colea/xquery_bzr/hof/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
@@ -4601,8 +4626,8 @@
 
   case 186:
 
-/* Line 678 of lalr1.cc  */
-#line 2248 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2248 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4610,8 +4635,8 @@
 
   case 187:
 
-/* Line 678 of lalr1.cc  */
-#line 2253 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2253 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
@@ -4619,8 +4644,8 @@
 
   case 188:
 
-/* Line 678 of lalr1.cc  */
-#line 2261 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2261 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       if (dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr)) == NULL)
       {
@@ -4637,8 +4662,8 @@
 
   case 189:
 
-/* Line 678 of lalr1.cc  */
-#line 2278 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2278 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4646,8 +4671,8 @@
 
   case 190:
 
-/* Line 678 of lalr1.cc  */
-#line 2286 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2286 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
@@ -4655,8 +4680,8 @@
 
   case 191:
 
-/* Line 678 of lalr1.cc  */
-#line 2294 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2294 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4666,8 +4691,8 @@
 
   case 192:
 
-/* Line 678 of lalr1.cc  */
-#line 2301 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2301 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4677,8 +4702,8 @@
 
   case 193:
 
-/* Line 678 of lalr1.cc  */
-#line 2308 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2308 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)),
                                            static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
@@ -4689,8 +4714,8 @@
 
   case 194:
 
-/* Line 678 of lalr1.cc  */
-#line 2319 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2319 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4703,8 +4728,8 @@
 
   case 195:
 
-/* Line 678 of lalr1.cc  */
-#line 2328 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2328 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4717,8 +4742,8 @@
 
   case 196:
 
-/* Line 678 of lalr1.cc  */
-#line 2337 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2337 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4731,8 +4756,8 @@
 
   case 197:
 
-/* Line 678 of lalr1.cc  */
-#line 2346 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2346 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4745,8 +4770,8 @@
 
   case 198:
 
-/* Line 678 of lalr1.cc  */
-#line 2359 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2359 "/home/colea/xquery_bzr/hof/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));
     }
@@ -4754,8 +4779,8 @@
 
   case 199:
 
-/* Line 678 of lalr1.cc  */
-#line 2367 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2367 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
@@ -4763,8 +4788,8 @@
 
   case 200:
 
-/* Line 678 of lalr1.cc  */
-#line 2375 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2375 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
@@ -4772,8 +4797,8 @@
 
   case 201:
 
-/* Line 678 of lalr1.cc  */
-#line 2383 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2383 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4788,8 +4813,8 @@
 
   case 202:
 
-/* Line 678 of lalr1.cc  */
-#line 2398 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2398 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
@@ -4797,8 +4822,8 @@
 
   case 203:
 
-/* Line 678 of lalr1.cc  */
-#line 2403 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2403 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
@@ -4806,8 +4831,8 @@
 
   case 204:
 
-/* Line 678 of lalr1.cc  */
-#line 2411 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2411 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4821,8 +4846,8 @@
 
   case 205:
 
-/* Line 678 of lalr1.cc  */
-#line 2425 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2425 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
 
@@ -4839,8 +4864,8 @@
 
   case 206:
 
-/* Line 678 of lalr1.cc  */
-#line 2442 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2442 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4865,8 +4890,8 @@
 
   case 207:
 
-/* Line 678 of lalr1.cc  */
-#line 2467 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2467 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -4874,8 +4899,8 @@
 
   case 208:
 
-/* Line 678 of lalr1.cc  */
-#line 2475 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2475 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4885,8 +4910,8 @@
 
   case 209:
 
-/* Line 678 of lalr1.cc  */
-#line 2482 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2482 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4897,8 +4922,8 @@
 
   case 210:
 
-/* Line 678 of lalr1.cc  */
-#line 2493 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2493 "/home/colea/xquery_bzr/hof/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);
@@ -4907,8 +4932,8 @@
 
   case 211:
 
-/* Line 678 of lalr1.cc  */
-#line 2503 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2503 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4916,8 +4941,8 @@
 
   case 212:
 
-/* Line 678 of lalr1.cc  */
-#line 2508 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2508 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4932,8 +4957,8 @@
 
   case 213:
 
-/* Line 678 of lalr1.cc  */
-#line 2521 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2521 "/home/colea/xquery_bzr/hof/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
@@ -4950,8 +4975,8 @@
 
   case 232:
 
-/* Line 678 of lalr1.cc  */
-#line 2568 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2568 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4965,8 +4990,8 @@
 
   case 233:
 
-/* Line 678 of lalr1.cc  */
-#line 2582 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2582 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
@@ -4974,8 +4999,8 @@
 
   case 234:
 
-/* Line 678 of lalr1.cc  */
-#line 2590 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2590 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
@@ -4983,8 +5008,8 @@
 
   case 235:
 
-/* Line 678 of lalr1.cc  */
-#line 2595 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2595 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
@@ -4992,8 +5017,8 @@
 
   case 236:
 
-/* Line 678 of lalr1.cc  */
-#line 2603 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2603 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
@@ -5001,8 +5026,8 @@
 
   case 237:
 
-/* Line 678 of lalr1.cc  */
-#line 2608 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2608 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
@@ -5010,8 +5035,8 @@
 
   case 238:
 
-/* Line 678 of lalr1.cc  */
-#line 2613 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2613 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
@@ -5019,8 +5044,8 @@
 
   case 239:
 
-/* Line 678 of lalr1.cc  */
-#line 2621 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2621 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5032,8 +5057,8 @@
 
   case 240:
 
-/* Line 678 of lalr1.cc  */
-#line 2630 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2630 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -5045,8 +5070,8 @@
 
   case 241:
 
-/* Line 678 of lalr1.cc  */
-#line 2642 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2642 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -5060,8 +5085,8 @@
 
   case 242:
 
-/* Line 678 of lalr1.cc  */
-#line 2652 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2652 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -5074,8 +5099,8 @@
 
   case 243:
 
-/* Line 678 of lalr1.cc  */
-#line 2665 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2665 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5083,8 +5108,8 @@
 
   case 252:
 
-/* Line 678 of lalr1.cc  */
-#line 2689 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2689 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5094,8 +5119,8 @@
 
   case 253:
 
-/* Line 678 of lalr1.cc  */
-#line 2696 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2696 "/home/colea/xquery_bzr/hof/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)) );
@@ -5105,8 +5130,8 @@
 
   case 254:
 
-/* Line 678 of lalr1.cc  */
-#line 2706 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2706 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5114,8 +5139,8 @@
 
   case 255:
 
-/* Line 678 of lalr1.cc  */
-#line 2712 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2712 "/home/colea/xquery_bzr/hof/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 \""
@@ -5127,8 +5152,8 @@
 
   case 256:
 
-/* Line 678 of lalr1.cc  */
-#line 2721 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2721 "/home/colea/xquery_bzr/hof/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
@@ -5138,8 +5163,8 @@
 
   case 257:
 
-/* Line 678 of lalr1.cc  */
-#line 2731 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2731 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       VarInDeclList* vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5149,8 +5174,8 @@
 
   case 258:
 
-/* Line 678 of lalr1.cc  */
-#line 2738 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2738 "/home/colea/xquery_bzr/hof/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)) );
@@ -5160,8 +5185,8 @@
 
   case 259:
 
-/* Line 678 of lalr1.cc  */
-#line 2746 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2746 "/home/colea/xquery_bzr/hof/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 \""
@@ -5173,8 +5198,8 @@
 
   case 260:
 
-/* Line 678 of lalr1.cc  */
-#line 2758 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2758 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5188,8 +5213,8 @@
 
   case 261:
 
-/* Line 678 of lalr1.cc  */
-#line 2768 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2768 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5203,8 +5228,8 @@
 
   case 262:
 
-/* Line 678 of lalr1.cc  */
-#line 2778 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2778 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5218,8 +5243,8 @@
 
   case 263:
 
-/* Line 678 of lalr1.cc  */
-#line 2788 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2788 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5233,8 +5258,8 @@
 
   case 264:
 
-/* Line 678 of lalr1.cc  */
-#line 2798 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2798 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5248,8 +5273,8 @@
 
   case 265:
 
-/* Line 678 of lalr1.cc  */
-#line 2808 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2808 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5263,8 +5288,8 @@
 
   case 266:
 
-/* Line 678 of lalr1.cc  */
-#line 2818 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2818 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5278,8 +5303,8 @@
 
   case 267:
 
-/* Line 678 of lalr1.cc  */
-#line 2828 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2828 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5293,8 +5318,8 @@
 
   case 268:
 
-/* Line 678 of lalr1.cc  */
-#line 2839 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2839 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5307,8 +5332,8 @@
 
   case 269:
 
-/* Line 678 of lalr1.cc  */
-#line 2848 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2848 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5322,8 +5347,8 @@
 
   case 270:
 
-/* Line 678 of lalr1.cc  */
-#line 2858 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2858 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5337,8 +5362,8 @@
 
   case 271:
 
-/* Line 678 of lalr1.cc  */
-#line 2868 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2868 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5352,8 +5377,8 @@
 
   case 272:
 
-/* Line 678 of lalr1.cc  */
-#line 2884 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2884 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5361,8 +5386,8 @@
 
   case 273:
 
-/* Line 678 of lalr1.cc  */
-#line 2893 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2893 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5370,8 +5395,8 @@
 
   case 274:
 
-/* Line 678 of lalr1.cc  */
-#line 2902 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2902 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
@@ -5379,8 +5404,8 @@
 
   case 275:
 
-/* Line 678 of lalr1.cc  */
-#line 2910 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2910 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5390,8 +5415,8 @@
 
   case 276:
 
-/* Line 678 of lalr1.cc  */
-#line 2916 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2916 "/home/colea/xquery_bzr/hof/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)) );
@@ -5401,8 +5426,8 @@
 
   case 277:
 
-/* Line 678 of lalr1.cc  */
-#line 2928 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2928 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5414,8 +5439,8 @@
 
   case 278:
 
-/* Line 678 of lalr1.cc  */
-#line 2936 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2936 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5427,8 +5452,8 @@
 
   case 279:
 
-/* Line 678 of lalr1.cc  */
-#line 2946 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2946 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5440,8 +5465,8 @@
 
   case 280:
 
-/* Line 678 of lalr1.cc  */
-#line 2954 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2954 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5453,8 +5478,8 @@
 
   case 281:
 
-/* Line 678 of lalr1.cc  */
-#line 2966 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2966 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5464,8 +5489,8 @@
 
   case 282:
 
-/* Line 678 of lalr1.cc  */
-#line 2972 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2972 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5476,8 +5501,8 @@
 
   case 284:
 
-/* Line 678 of lalr1.cc  */
-#line 2985 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2985 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
@@ -5485,8 +5510,8 @@
 
   case 285:
 
-/* Line 678 of lalr1.cc  */
-#line 2989 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2989 "/home/colea/xquery_bzr/hof/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)));
@@ -5495,8 +5520,8 @@
 
   case 286:
 
-/* Line 678 of lalr1.cc  */
-#line 2997 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2997 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
@@ -5504,8 +5529,8 @@
 
   case 287:
 
-/* Line 678 of lalr1.cc  */
-#line 3001 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3001 "/home/colea/xquery_bzr/hof/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)));
@@ -5514,8 +5539,8 @@
 
   case 289:
 
-/* Line 678 of lalr1.cc  */
-#line 3010 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3010 "/home/colea/xquery_bzr/hof/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)));
     }
@@ -5523,8 +5548,8 @@
 
   case 290:
 
-/* Line 678 of lalr1.cc  */
-#line 3014 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3014 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5532,8 +5557,8 @@
 
   case 291:
 
-/* Line 678 of lalr1.cc  */
-#line 3018 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3018 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
@@ -5541,8 +5566,8 @@
 
   case 292:
 
-/* Line 678 of lalr1.cc  */
-#line 3028 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3028 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -5550,8 +5575,8 @@
 
   case 293:
 
-/* Line 678 of lalr1.cc  */
-#line 3036 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3036 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5559,8 +5584,8 @@
 
   case 294:
 
-/* Line 678 of lalr1.cc  */
-#line 3043 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3043 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5570,8 +5595,8 @@
 
   case 295:
 
-/* Line 678 of lalr1.cc  */
-#line 3049 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3049 "/home/colea/xquery_bzr/hof/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)));
@@ -5581,8 +5606,8 @@
 
   case 296:
 
-/* Line 678 of lalr1.cc  */
-#line 3059 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3059 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL, NULL);
     }
@@ -5590,8 +5615,8 @@
 
   case 297:
 
-/* Line 678 of lalr1.cc  */
-#line 3063 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3063 "/home/colea/xquery_bzr/hof/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);
     }
@@ -5599,8 +5624,8 @@
 
   case 298:
 
-/* Line 678 of lalr1.cc  */
-#line 3067 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3067 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5612,8 +5637,8 @@
 
   case 299:
 
-/* Line 678 of lalr1.cc  */
-#line 3075 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3075 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5625,8 +5650,8 @@
 
   case 300:
 
-/* Line 678 of lalr1.cc  */
-#line 3083 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3083 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5638,8 +5663,8 @@
 
   case 301:
 
-/* Line 678 of lalr1.cc  */
-#line 3091 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3091 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5651,8 +5676,8 @@
 
   case 302:
 
-/* Line 678 of lalr1.cc  */
-#line 3103 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3103 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
@@ -5660,8 +5685,8 @@
 
   case 303:
 
-/* Line 678 of lalr1.cc  */
-#line 3111 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3111 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5671,8 +5696,8 @@
 
   case 304:
 
-/* Line 678 of lalr1.cc  */
-#line 3117 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3117 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5682,8 +5707,8 @@
 
   case 305:
 
-/* Line 678 of lalr1.cc  */
-#line 3127 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3127 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5693,8 +5718,8 @@
 
   case 306:
 
-/* Line 678 of lalr1.cc  */
-#line 3133 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3133 "/home/colea/xquery_bzr/hof/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)) );
@@ -5704,8 +5729,8 @@
 
   case 307:
 
-/* Line 678 of lalr1.cc  */
-#line 3143 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3143 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
@@ -5713,8 +5738,8 @@
 
   case 308:
 
-/* Line 678 of lalr1.cc  */
-#line 3147 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3147 "/home/colea/xquery_bzr/hof/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))
@@ -5724,8 +5749,8 @@
 
   case 309:
 
-/* Line 678 of lalr1.cc  */
-#line 3157 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3157 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5735,8 +5760,8 @@
 
   case 310:
 
-/* Line 678 of lalr1.cc  */
-#line 3163 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3163 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5746,8 +5771,8 @@
 
   case 311:
 
-/* Line 678 of lalr1.cc  */
-#line 3169 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3169 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5757,8 +5782,8 @@
 
   case 312:
 
-/* Line 678 of lalr1.cc  */
-#line 3175 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3175 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5771,8 +5796,8 @@
 
   case 313:
 
-/* Line 678 of lalr1.cc  */
-#line 3184 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3184 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5785,8 +5810,8 @@
 
   case 314:
 
-/* Line 678 of lalr1.cc  */
-#line 3193 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3193 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5799,8 +5824,8 @@
 
   case 315:
 
-/* Line 678 of lalr1.cc  */
-#line 3202 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3202 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5813,8 +5838,8 @@
 
   case 316:
 
-/* Line 678 of lalr1.cc  */
-#line 3215 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3215 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
@@ -5822,8 +5847,8 @@
 
   case 317:
 
-/* Line 678 of lalr1.cc  */
-#line 3219 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3219 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
@@ -5831,8 +5856,8 @@
 
   case 318:
 
-/* Line 678 of lalr1.cc  */
-#line 3227 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3227 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5842,8 +5867,8 @@
 
   case 319:
 
-/* Line 678 of lalr1.cc  */
-#line 3233 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3233 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5853,8 +5878,8 @@
 
   case 320:
 
-/* Line 678 of lalr1.cc  */
-#line 3243 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3243 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5862,8 +5887,8 @@
 
   case 321:
 
-/* Line 678 of lalr1.cc  */
-#line 3251 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3251 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5876,8 +5901,8 @@
 
   case 322:
 
-/* Line 678 of lalr1.cc  */
-#line 3260 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3260 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5890,8 +5915,8 @@
 
   case 323:
 
-/* Line 678 of lalr1.cc  */
-#line 3273 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3273 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5902,8 +5927,8 @@
 
   case 324:
 
-/* Line 678 of lalr1.cc  */
-#line 3280 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3280 "/home/colea/xquery_bzr/hof/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)) );
@@ -5913,8 +5938,8 @@
 
   case 325:
 
-/* Line 678 of lalr1.cc  */
-#line 3292 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3292 "/home/colea/xquery_bzr/hof/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));
     }
@@ -5922,8 +5947,8 @@
 
   case 326:
 
-/* Line 678 of lalr1.cc  */
-#line 3296 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3296 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5934,8 +5959,8 @@
 
   case 327:
 
-/* Line 678 of lalr1.cc  */
-#line 3308 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3308 "/home/colea/xquery_bzr/hof/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));
     }
@@ -5943,8 +5968,8 @@
 
   case 328:
 
-/* Line 678 of lalr1.cc  */
-#line 3315 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3315 "/home/colea/xquery_bzr/hof/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)));
@@ -5954,8 +5979,8 @@
 
   case 329:
 
-/* Line 678 of lalr1.cc  */
-#line 3321 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3321 "/home/colea/xquery_bzr/hof/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)));
@@ -5965,8 +5990,8 @@
 
   case 330:
 
-/* Line 678 of lalr1.cc  */
-#line 3330 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3330 "/home/colea/xquery_bzr/hof/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));
     }
@@ -5974,8 +5999,8 @@
 
   case 331:
 
-/* Line 678 of lalr1.cc  */
-#line 3337 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3337 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -5985,8 +6010,8 @@
 
   case 332:
 
-/* Line 678 of lalr1.cc  */
-#line 3343 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3343 "/home/colea/xquery_bzr/hof/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));
@@ -5996,8 +6021,8 @@
 
   case 333:
 
-/* Line 678 of lalr1.cc  */
-#line 3354 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3354 "/home/colea/xquery_bzr/hof/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));
     }
@@ -6005,8 +6030,8 @@
 
   case 334:
 
-/* Line 678 of lalr1.cc  */
-#line 3361 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3361 "/home/colea/xquery_bzr/hof/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)));
@@ -6016,8 +6041,8 @@
 
   case 335:
 
-/* Line 678 of lalr1.cc  */
-#line 3367 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3367 "/home/colea/xquery_bzr/hof/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)));
@@ -6027,8 +6052,8 @@
 
   case 336:
 
-/* Line 678 of lalr1.cc  */
-#line 3376 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3376 "/home/colea/xquery_bzr/hof/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));
     }
@@ -6036,8 +6061,8 @@
 
   case 337:
 
-/* Line 678 of lalr1.cc  */
-#line 3385 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3385 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6048,8 +6073,8 @@
 
   case 338:
 
-/* Line 678 of lalr1.cc  */
-#line 3392 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3392 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6061,8 +6086,8 @@
 
   case 339:
 
-/* Line 678 of lalr1.cc  */
-#line 3403 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3403 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -6073,8 +6098,8 @@
 
   case 340:
 
-/* Line 678 of lalr1.cc  */
-#line 3410 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3410 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6086,8 +6111,8 @@
 
   case 341:
 
-/* Line 678 of lalr1.cc  */
-#line 3422 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3422 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6097,8 +6122,8 @@
 
   case 342:
 
-/* Line 678 of lalr1.cc  */
-#line 3428 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3428 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6108,8 +6133,8 @@
 
   case 343:
 
-/* Line 678 of lalr1.cc  */
-#line 3440 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3440 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6119,8 +6144,8 @@
 
   case 344:
 
-/* Line 678 of lalr1.cc  */
-#line 3446 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3446 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6131,8 +6156,8 @@
 
   case 345:
 
-/* Line 678 of lalr1.cc  */
-#line 3457 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3457 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(static_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6142,8 +6167,8 @@
 
   case 346:
 
-/* Line 678 of lalr1.cc  */
-#line 3463 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3463 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       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)));
@@ -6153,8 +6178,8 @@
 
   case 347:
 
-/* Line 678 of lalr1.cc  */
-#line 3474 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3474 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<SequenceTypeList*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6164,8 +6189,8 @@
 
   case 348:
 
-/* Line 678 of lalr1.cc  */
-#line 3480 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3480 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6176,8 +6201,8 @@
 
   case 349:
 
-/* Line 678 of lalr1.cc  */
-#line 3491 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3491 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       SequenceTypeList* seqList = new SequenceTypeList(LOC((yyloc)));
       seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6187,8 +6212,8 @@
 
   case 350:
 
-/* Line 678 of lalr1.cc  */
-#line 3497 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3497 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       SequenceTypeList* seqList = static_cast<SequenceTypeList*>((yysemantic_stack_[(3) - (1)].node));
       seqList->push_back(static_cast<SequenceType*>((yysemantic_stack_[(3) - (3)].node)));
@@ -6198,8 +6223,8 @@
 
   case 351:
 
-/* Line 678 of lalr1.cc  */
-#line 3508 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3508 "/home/colea/xquery_bzr/hof/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));
     }
@@ -6207,8 +6232,8 @@
 
   case 352:
 
-/* Line 678 of lalr1.cc  */
-#line 3517 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3517 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -6216,8 +6241,8 @@
 
   case 353:
 
-/* Line 678 of lalr1.cc  */
-#line 3521 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3521 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
     }
@@ -6225,8 +6250,8 @@
 
   case 354:
 
-/* Line 678 of lalr1.cc  */
-#line 3530 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3530 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6234,8 +6259,8 @@
 
   case 355:
 
-/* Line 678 of lalr1.cc  */
-#line 3534 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3534 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6243,8 +6268,8 @@
 
   case 356:
 
-/* Line 678 of lalr1.cc  */
-#line 3542 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3542 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6252,8 +6277,8 @@
 
   case 357:
 
-/* Line 678 of lalr1.cc  */
-#line 3546 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3546 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
@@ -6267,8 +6292,8 @@
 
   case 358:
 
-/* Line 678 of lalr1.cc  */
-#line 3556 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3556 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "is" | "<<" | ">>" */
             (yyval.expr) = new ComparisonExpr(
@@ -6279,8 +6304,8 @@
 
   case 359:
 
-/* Line 678 of lalr1.cc  */
-#line 3563 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3563 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6293,8 +6318,8 @@
 
   case 360:
 
-/* Line 678 of lalr1.cc  */
-#line 3572 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3572 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6307,8 +6332,8 @@
 
   case 361:
 
-/* Line 678 of lalr1.cc  */
-#line 3581 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3581 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             /* this call is needed */
             driver.lexer->interpretAsLessThan();
@@ -6317,8 +6342,8 @@
 
   case 362:
 
-/* Line 678 of lalr1.cc  */
-#line 3586 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3586 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6331,8 +6356,8 @@
 
   case 363:
 
-/* Line 678 of lalr1.cc  */
-#line 3595 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3595 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6345,8 +6370,8 @@
 
   case 364:
 
-/* Line 678 of lalr1.cc  */
-#line 3604 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3604 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6359,8 +6384,8 @@
 
   case 365:
 
-/* Line 678 of lalr1.cc  */
-#line 3613 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3613 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6373,8 +6398,8 @@
 
   case 366:
 
-/* Line 678 of lalr1.cc  */
-#line 3626 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3626 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6382,8 +6407,8 @@
 
   case 367:
 
-/* Line 678 of lalr1.cc  */
-#line 3630 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3630 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6396,8 +6421,8 @@
 
   case 368:
 
-/* Line 678 of lalr1.cc  */
-#line 3642 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3642 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6405,8 +6430,8 @@
 
   case 369:
 
-/* Line 678 of lalr1.cc  */
-#line 3646 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3646 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
@@ -6414,8 +6439,8 @@
 
   case 370:
 
-/* Line 678 of lalr1.cc  */
-#line 3653 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3653 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -6423,8 +6448,8 @@
 
   case 371:
 
-/* Line 678 of lalr1.cc  */
-#line 3657 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3657 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -6432,8 +6457,8 @@
 
   case 372:
 
-/* Line 678 of lalr1.cc  */
-#line 3664 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3664 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6441,8 +6466,8 @@
 
   case 373:
 
-/* Line 678 of lalr1.cc  */
-#line 3668 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3668 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6450,8 +6475,8 @@
 
   case 374:
 
-/* Line 678 of lalr1.cc  */
-#line 3677 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3677 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6459,8 +6484,8 @@
 
   case 375:
 
-/* Line 678 of lalr1.cc  */
-#line 3681 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3681 "/home/colea/xquery_bzr/hof/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) );
         }
@@ -6468,8 +6493,8 @@
 
   case 376:
 
-/* Line 678 of lalr1.cc  */
-#line 3685 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3685 "/home/colea/xquery_bzr/hof/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) );
         }
@@ -6477,8 +6502,8 @@
 
   case 377:
 
-/* Line 678 of lalr1.cc  */
-#line 3693 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3693 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6486,8 +6511,8 @@
 
   case 378:
 
-/* Line 678 of lalr1.cc  */
-#line 3697 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3697 "/home/colea/xquery_bzr/hof/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)
@@ -6497,8 +6522,8 @@
 
   case 379:
 
-/* Line 678 of lalr1.cc  */
-#line 3703 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3703 "/home/colea/xquery_bzr/hof/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)
@@ -6508,8 +6533,8 @@
 
   case 380:
 
-/* Line 678 of lalr1.cc  */
-#line 3709 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3709 "/home/colea/xquery_bzr/hof/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)
@@ -6519,8 +6544,8 @@
 
   case 381:
 
-/* Line 678 of lalr1.cc  */
-#line 3715 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3715 "/home/colea/xquery_bzr/hof/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)
@@ -6530,8 +6555,8 @@
 
   case 382:
 
-/* Line 678 of lalr1.cc  */
-#line 3725 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3725 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6539,8 +6564,8 @@
 
   case 383:
 
-/* Line 678 of lalr1.cc  */
-#line 3729 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3729 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6548,8 +6573,8 @@
 
   case 384:
 
-/* Line 678 of lalr1.cc  */
-#line 3733 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3733 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6557,8 +6582,8 @@
 
   case 385:
 
-/* Line 678 of lalr1.cc  */
-#line 3741 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3741 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6566,8 +6591,8 @@
 
   case 386:
 
-/* Line 678 of lalr1.cc  */
-#line 3745 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3745 "/home/colea/xquery_bzr/hof/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)
@@ -6577,8 +6602,8 @@
 
   case 387:
 
-/* Line 678 of lalr1.cc  */
-#line 3751 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3751 "/home/colea/xquery_bzr/hof/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)
@@ -6588,8 +6613,8 @@
 
   case 388:
 
-/* Line 678 of lalr1.cc  */
-#line 3761 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3761 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6597,8 +6622,8 @@
 
   case 389:
 
-/* Line 678 of lalr1.cc  */
-#line 3765 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3765 "/home/colea/xquery_bzr/hof/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))
@@ -6608,8 +6633,8 @@
 
   case 390:
 
-/* Line 678 of lalr1.cc  */
-#line 3775 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3775 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6617,8 +6642,8 @@
 
   case 391:
 
-/* Line 678 of lalr1.cc  */
-#line 3779 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3779 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new TreatExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6628,8 +6653,8 @@
 
   case 392:
 
-/* Line 678 of lalr1.cc  */
-#line 3789 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3789 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6637,8 +6662,8 @@
 
   case 393:
 
-/* Line 678 of lalr1.cc  */
-#line 3793 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3793 "/home/colea/xquery_bzr/hof/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))
@@ -6648,8 +6673,8 @@
 
   case 394:
 
-/* Line 678 of lalr1.cc  */
-#line 3803 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3803 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6657,8 +6682,8 @@
 
   case 395:
 
-/* Line 678 of lalr1.cc  */
-#line 3807 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3807 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CastExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6668,8 +6693,8 @@
 
   case 396:
 
-/* Line 678 of lalr1.cc  */
-#line 3817 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3817 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(1) - (1)].node)), false);
     }
@@ -6677,8 +6702,8 @@
 
   case 397:
 
-/* Line 678 of lalr1.cc  */
-#line 3821 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3821 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SingleType(LOC((yyloc)), dynamic_cast<SimpleType*>((yysemantic_stack_[(2) - (1)].node)), true);
     }
@@ -6686,8 +6711,8 @@
 
   case 398:
 
-/* Line 678 of lalr1.cc  */
-#line 3830 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3830 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6695,8 +6720,8 @@
 
   case 399:
 
-/* Line 678 of lalr1.cc  */
-#line 3834 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3834 "/home/colea/xquery_bzr/hof/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) );
         }
@@ -6704,8 +6729,8 @@
 
   case 400:
 
-/* Line 678 of lalr1.cc  */
-#line 3842 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3842 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), true );
         }
@@ -6713,8 +6738,8 @@
 
   case 401:
 
-/* Line 678 of lalr1.cc  */
-#line 3846 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3846 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), false );
         }
@@ -6722,8 +6747,8 @@
 
   case 402:
 
-/* Line 678 of lalr1.cc  */
-#line 3850 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3850 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
@@ -6731,8 +6756,8 @@
 
   case 403:
 
-/* Line 678 of lalr1.cc  */
-#line 3854 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3854 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6742,8 +6767,8 @@
 
   case 404:
 
-/* Line 678 of lalr1.cc  */
-#line 3864 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3864 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6751,8 +6776,8 @@
 
   case 405:
 
-/* Line 678 of lalr1.cc  */
-#line 3868 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3868 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6760,8 +6785,8 @@
 
   case 406:
 
-/* Line 678 of lalr1.cc  */
-#line 3872 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3872 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6769,8 +6794,8 @@
 
   case 407:
 
-/* Line 678 of lalr1.cc  */
-#line 3879 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3879 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
       }
@@ -6778,8 +6803,8 @@
 
   case 408:
 
-/* Line 678 of lalr1.cc  */
-#line 3884 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3884 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
         (yyval.expr) = new SimpleMapExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
       }
@@ -6787,8 +6812,8 @@
 
   case 409:
 
-/* Line 678 of lalr1.cc  */
-#line 3892 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3892 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
@@ -6796,8 +6821,8 @@
 
   case 410:
 
-/* Line 678 of lalr1.cc  */
-#line 3896 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3896 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
@@ -6805,8 +6830,8 @@
 
   case 411:
 
-/* Line 678 of lalr1.cc  */
-#line 3900 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3900 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
@@ -6814,8 +6839,8 @@
 
   case 412:
 
-/* Line 678 of lalr1.cc  */
-#line 3904 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3904 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
@@ -6823,8 +6848,8 @@
 
   case 413:
 
-/* Line 678 of lalr1.cc  */
-#line 3908 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3908 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
@@ -6832,8 +6857,8 @@
 
   case 414:
 
-/* Line 678 of lalr1.cc  */
-#line 3912 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3912 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
@@ -6841,8 +6866,8 @@
 
   case 415:
 
-/* Line 678 of lalr1.cc  */
-#line 3920 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3920 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
         }
@@ -6850,8 +6875,8 @@
 
   case 416:
 
-/* Line 678 of lalr1.cc  */
-#line 3924 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3924 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
         }
@@ -6859,8 +6884,8 @@
 
   case 417:
 
-/* Line 678 of lalr1.cc  */
-#line 3928 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3928 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
         }
@@ -6868,8 +6893,8 @@
 
   case 418:
 
-/* Line 678 of lalr1.cc  */
-#line 3936 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3936 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -6877,8 +6902,8 @@
 
   case 419:
 
-/* Line 678 of lalr1.cc  */
-#line 3940 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3940 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6886,8 +6911,8 @@
 
   case 420:
 
-/* Line 678 of lalr1.cc  */
-#line 3944 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3944 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6895,8 +6920,8 @@
 
   case 421:
 
-/* Line 678 of lalr1.cc  */
-#line 3948 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3948 "/home/colea/xquery_bzr/hof/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)
@@ -6907,8 +6932,8 @@
 
   case 422:
 
-/* Line 678 of lalr1.cc  */
-#line 3959 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3959 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6918,8 +6943,8 @@
 
   case 423:
 
-/* Line 678 of lalr1.cc  */
-#line 3965 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3965 "/home/colea/xquery_bzr/hof/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)
@@ -6929,8 +6954,8 @@
 
   case 424:
 
-/* Line 678 of lalr1.cc  */
-#line 3975 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3975 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6940,8 +6965,8 @@
 
   case 425:
 
-/* Line 678 of lalr1.cc  */
-#line 3981 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3981 "/home/colea/xquery_bzr/hof/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)) );
@@ -6951,8 +6976,8 @@
 
   case 426:
 
-/* Line 678 of lalr1.cc  */
-#line 3991 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3991 "/home/colea/xquery_bzr/hof/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)) );
         }
@@ -6960,8 +6985,8 @@
 
   case 427:
 
-/* Line 678 of lalr1.cc  */
-#line 3995 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3995 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
@@ -6969,8 +6994,8 @@
 
   case 428:
 
-/* Line 678 of lalr1.cc  */
-#line 3999 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3999 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
@@ -6978,8 +7003,8 @@
 
   case 429:
 
-/* Line 678 of lalr1.cc  */
-#line 4037 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4037 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new PathExpr(LOC((yyloc)), ParseConstants::path_leading_lone_slash, NULL);
     }
@@ -6987,8 +7012,8 @@
 
   case 430:
 
-/* Line 678 of lalr1.cc  */
-#line 4041 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4041 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -7002,8 +7027,8 @@
 
   case 431:
 
-/* Line 678 of lalr1.cc  */
-#line 4051 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4051 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -7017,8 +7042,8 @@
 
   case 432:
 
-/* Line 678 of lalr1.cc  */
-#line 4061 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4061 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (!rpe ?
@@ -7029,8 +7054,8 @@
 
   case 433:
 
-/* Line 678 of lalr1.cc  */
-#line 4074 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4074 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = NULL;
     }
@@ -7038,8 +7063,8 @@
 
   case 434:
 
-/* Line 678 of lalr1.cc  */
-#line 4083 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4083 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -7053,8 +7078,8 @@
 
   case 435:
 
-/* Line 678 of lalr1.cc  */
-#line 4093 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4093 "/home/colea/xquery_bzr/hof/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);
     }
@@ -7062,8 +7087,8 @@
 
   case 436:
 
-/* Line 678 of lalr1.cc  */
-#line 4097 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4097 "/home/colea/xquery_bzr/hof/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);
     }
@@ -7071,8 +7096,8 @@
 
   case 437:
 
-/* Line 678 of lalr1.cc  */
-#line 4106 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4106 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7080,8 +7105,8 @@
 
   case 438:
 
-/* Line 678 of lalr1.cc  */
-#line 4110 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4110 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -7089,8 +7114,8 @@
 
   case 439:
 
-/* Line 678 of lalr1.cc  */
-#line 4119 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4119 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ForwardStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7100,8 +7125,8 @@
 
   case 440:
 
-/* Line 678 of lalr1.cc  */
-#line 4125 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4125 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7113,8 +7138,8 @@
 
   case 441:
 
-/* Line 678 of lalr1.cc  */
-#line 4133 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4133 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ReverseStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -7124,8 +7149,8 @@
 
   case 442:
 
-/* Line 678 of lalr1.cc  */
-#line 4139 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4139 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -7137,8 +7162,8 @@
 
   case 443:
 
-/* Line 678 of lalr1.cc  */
-#line 4151 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4151 "/home/colea/xquery_bzr/hof/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)
@@ -7148,8 +7173,8 @@
 
   case 444:
 
-/* Line 678 of lalr1.cc  */
-#line 4157 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4157 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<AbbrevForwardStep*>((yysemantic_stack_[(1) - (1)].node))
@@ -7159,8 +7184,8 @@
 
   case 445:
 
-/* Line 678 of lalr1.cc  */
-#line 4167 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4167 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_child );
         }
@@ -7168,8 +7193,8 @@
 
   case 446:
 
-/* Line 678 of lalr1.cc  */
-#line 4171 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4171 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_descendant);
         }
@@ -7177,8 +7202,8 @@
 
   case 447:
 
-/* Line 678 of lalr1.cc  */
-#line 4175 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4175 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_attribute );
         }
@@ -7186,8 +7211,8 @@
 
   case 448:
 
-/* Line 678 of lalr1.cc  */
-#line 4179 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4179 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_self );
         }
@@ -7195,8 +7220,8 @@
 
   case 449:
 
-/* Line 678 of lalr1.cc  */
-#line 4183 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4183 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_descendant_or_self
@@ -7206,8 +7231,8 @@
 
   case 450:
 
-/* Line 678 of lalr1.cc  */
-#line 4189 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4189 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_following_sibling
@@ -7217,8 +7242,8 @@
 
   case 451:
 
-/* Line 678 of lalr1.cc  */
-#line 4195 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4195 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_following );
         }
@@ -7226,8 +7251,8 @@
 
   case 452:
 
-/* Line 678 of lalr1.cc  */
-#line 4203 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4203 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), false );
         }
@@ -7235,8 +7260,8 @@
 
   case 453:
 
-/* Line 678 of lalr1.cc  */
-#line 4207 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4207 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].node), true );
         }
@@ -7244,8 +7269,8 @@
 
   case 454:
 
-/* Line 678 of lalr1.cc  */
-#line 4215 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4215 "/home/colea/xquery_bzr/hof/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) );
         }
@@ -7253,8 +7278,8 @@
 
   case 455:
 
-/* Line 678 of lalr1.cc  */
-#line 4219 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4219 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             ReverseAxis *ra = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_parent
@@ -7265,8 +7290,8 @@
 
   case 456:
 
-/* Line 678 of lalr1.cc  */
-#line 4230 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4230 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_parent );
         }
@@ -7274,8 +7299,8 @@
 
   case 457:
 
-/* Line 678 of lalr1.cc  */
-#line 4234 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4234 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_ancestor );
         }
@@ -7283,8 +7308,8 @@
 
   case 458:
 
-/* Line 678 of lalr1.cc  */
-#line 4238 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4238 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_preceding_sibling
@@ -7294,8 +7319,8 @@
 
   case 459:
 
-/* Line 678 of lalr1.cc  */
-#line 4244 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4244 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_preceding );
         }
@@ -7303,8 +7328,8 @@
 
   case 460:
 
-/* Line 678 of lalr1.cc  */
-#line 4248 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4248 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_ancestor_or_self
@@ -7314,8 +7339,8 @@
 
   case 461:
 
-/* Line 678 of lalr1.cc  */
-#line 4262 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4262 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -7323,8 +7348,8 @@
 
   case 462:
 
-/* Line 678 of lalr1.cc  */
-#line 4266 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4266 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -7332,8 +7357,8 @@
 
   case 463:
 
-/* Line 678 of lalr1.cc  */
-#line 4274 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4274 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
@@ -7341,8 +7366,8 @@
 
   case 464:
 
-/* Line 678 of lalr1.cc  */
-#line 4278 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4278 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
@@ -7350,8 +7375,8 @@
 
   case 465:
 
-/* Line 678 of lalr1.cc  */
-#line 4288 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4288 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
@@ -7359,8 +7384,8 @@
 
   case 466:
 
-/* Line 678 of lalr1.cc  */
-#line 4292 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4292 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
@@ -7368,8 +7393,8 @@
 
   case 467:
 
-/* Line 678 of lalr1.cc  */
-#line 4296 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4296 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
@@ -7377,8 +7402,8 @@
 
   case 468:
 
-/* Line 678 of lalr1.cc  */
-#line 4300 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4300 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
@@ -7386,8 +7411,8 @@
 
   case 469:
 
-/* Line 678 of lalr1.cc  */
-#line 4309 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4309 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
@@ -7395,8 +7420,8 @@
 
   case 470:
 
-/* Line 678 of lalr1.cc  */
-#line 4313 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4313 "/home/colea/xquery_bzr/hof/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)));
      }
@@ -7404,26 +7429,26 @@
 
   case 471:
 
-/* Line 678 of lalr1.cc  */
-#line 4317 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4317 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-       (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr));
+       (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr), false);
      }
     break;
 
   case 472:
 
-/* Line 678 of lalr1.cc  */
-#line 4321 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4321 "/home/colea/xquery_bzr/hof/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)));
+       (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node)), false);
      }
     break;
 
   case 473:
 
-/* Line 678 of lalr1.cc  */
-#line 4329 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4329 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             PredicateList *pl = new PredicateList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7433,8 +7458,8 @@
 
   case 474:
 
-/* Line 678 of lalr1.cc  */
-#line 4335 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4335 "/home/colea/xquery_bzr/hof/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)) );
@@ -7444,8 +7469,8 @@
 
   case 475:
 
-/* Line 678 of lalr1.cc  */
-#line 4345 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4345 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
         }
@@ -7453,8 +7478,8 @@
 
   case 476:
 
-/* Line 678 of lalr1.cc  */
-#line 4353 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4353 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7462,8 +7487,8 @@
 
   case 477:
 
-/* Line 678 of lalr1.cc  */
-#line 4357 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4357 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7471,8 +7496,8 @@
 
   case 478:
 
-/* Line 678 of lalr1.cc  */
-#line 4361 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4361 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7480,8 +7505,8 @@
 
   case 479:
 
-/* Line 678 of lalr1.cc  */
-#line 4365 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4365 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7489,8 +7514,8 @@
 
   case 480:
 
-/* Line 678 of lalr1.cc  */
-#line 4369 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4369 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7498,8 +7523,8 @@
 
   case 481:
 
-/* Line 678 of lalr1.cc  */
-#line 4373 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4373 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7507,8 +7532,8 @@
 
   case 482:
 
-/* Line 678 of lalr1.cc  */
-#line 4377 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4377 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7516,8 +7541,8 @@
 
   case 483:
 
-/* Line 678 of lalr1.cc  */
-#line 4381 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4381 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7525,8 +7550,8 @@
 
   case 484:
 
-/* Line 678 of lalr1.cc  */
-#line 4385 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4385 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7534,8 +7559,8 @@
 
   case 485:
 
-/* Line 678 of lalr1.cc  */
-#line 4389 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4389 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7543,8 +7568,8 @@
 
   case 486:
 
-/* Line 678 of lalr1.cc  */
-#line 4394 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4394 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7552,8 +7577,8 @@
 
   case 487:
 
-/* Line 678 of lalr1.cc  */
-#line 4398 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4398 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7561,8 +7586,8 @@
 
   case 488:
 
-/* Line 678 of lalr1.cc  */
-#line 4402 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4402 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7570,8 +7595,8 @@
 
   case 489:
 
-/* Line 678 of lalr1.cc  */
-#line 4406 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4406 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7579,8 +7604,8 @@
 
   case 490:
 
-/* Line 678 of lalr1.cc  */
-#line 4414 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4414 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7588,8 +7613,8 @@
 
   case 491:
 
-/* Line 678 of lalr1.cc  */
-#line 4418 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4418 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7597,8 +7622,8 @@
 
   case 492:
 
-/* Line 678 of lalr1.cc  */
-#line 4426 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4426 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7609,8 +7634,8 @@
 
   case 493:
 
-/* Line 678 of lalr1.cc  */
-#line 4433 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4433 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7621,8 +7646,8 @@
 
   case 494:
 
-/* Line 678 of lalr1.cc  */
-#line 4440 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4440 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7633,8 +7658,8 @@
 
   case 495:
 
-/* Line 678 of lalr1.cc  */
-#line 4451 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4451 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
@@ -7642,8 +7667,8 @@
 
   case 496:
 
-/* Line 678 of lalr1.cc  */
-#line 4459 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4459 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
@@ -7651,8 +7676,8 @@
 
   case 497:
 
-/* Line 678 of lalr1.cc  */
-#line 4463 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4463 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
@@ -7660,8 +7685,8 @@
 
   case 498:
 
-/* Line 678 of lalr1.cc  */
-#line 4471 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4471 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
@@ -7669,8 +7694,8 @@
 
   case 499:
 
-/* Line 678 of lalr1.cc  */
-#line 4479 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4479 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -7678,8 +7703,8 @@
 
   case 500:
 
-/* Line 678 of lalr1.cc  */
-#line 4487 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4487 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -7687,8 +7712,8 @@
 
   case 501:
 
-/* Line 678 of lalr1.cc  */
-#line 4541 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4541 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL );
         }
@@ -7696,61 +7721,77 @@
 
   case 502:
 
-/* Line 678 of lalr1.cc  */
-#line 4545 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4545 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new FunctionCall(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
-                dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node))
-            );
+            ArgList* argList = dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node));
+
+            if (argList->has_placeholder())
+            {
+                (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)),
+                           new LiteralFunctionItem(LOC ((yyloc)), dynamic_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)), new Integer(argList->size())),
+                           argList,
+                           true);
+            }
+            else
+            {
+                (yyval.expr) = new FunctionCall(
+                    LOC((yyloc)),
+                    static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
+                    argList
+                );
+            }
         }
     break;
 
   case 503:
 
-/* Line 678 of lalr1.cc  */
-#line 4558 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4570 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             ArgList *al = new ArgList( LOC((yyloc)) );
-            al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
+            al->push_back(new ArgumentPlaceholder(LOC((yyloc))));
             (yyval.node) = al;
         }
     break;
 
   case 504:
 
-/* Line 678 of lalr1.cc  */
-#line 4564 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4576 "/home/colea/xquery_bzr/hof/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) );
+                al->push_back( new ArgumentPlaceholder(LOC((yyloc))) );
             (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
         }
     break;
 
   case 505:
 
-/* Line 678 of lalr1.cc  */
-#line 4574 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4582 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            ArgList *al = new ArgList( LOC((yyloc)) );
+            al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
+            (yyval.node) = al;
         }
     break;
 
   case 506:
 
-/* Line 678 of lalr1.cc  */
-#line 4578 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4588 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            if ( ArgList *al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)) )
+                al->push_back( (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
         }
     break;
 
   case 507:
 
-/* Line 678 of lalr1.cc  */
-#line 4586 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4598 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7758,8 +7799,8 @@
 
   case 508:
 
-/* Line 678 of lalr1.cc  */
-#line 4590 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4602 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7767,8 +7808,8 @@
 
   case 509:
 
-/* Line 678 of lalr1.cc  */
-#line 4594 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4610 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7776,8 +7817,26 @@
 
   case 510:
 
-/* Line 678 of lalr1.cc  */
-#line 4602 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4614 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 511:
+
+/* Line 690 of lalr1.cc  */
+#line 4618 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 512:
+
+/* Line 690 of lalr1.cc  */
+#line 4626 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7789,10 +7848,10 @@
         }
     break;
 
-  case 511:
+  case 513:
 
-/* Line 678 of lalr1.cc  */
-#line 4612 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4636 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7804,10 +7863,10 @@
         }
     break;
 
-  case 512:
+  case 514:
 
-/* Line 678 of lalr1.cc  */
-#line 4622 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4646 "/home/colea/xquery_bzr/hof/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())
             {
@@ -7826,10 +7885,10 @@
         }
     break;
 
-  case 513:
+  case 515:
 
-/* Line 678 of lalr1.cc  */
-#line 4639 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4663 "/home/colea/xquery_bzr/hof/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())
             {
@@ -7848,10 +7907,10 @@
         }
     break;
 
-  case 514:
+  case 516:
 
-/* Line 678 of lalr1.cc  */
-#line 4656 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4680 "/home/colea/xquery_bzr/hof/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())
             {
@@ -7870,10 +7929,10 @@
         }
     break;
 
-  case 515:
+  case 517:
 
-/* Line 678 of lalr1.cc  */
-#line 4673 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4697 "/home/colea/xquery_bzr/hof/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())
             {
@@ -7892,10 +7951,10 @@
         }
     break;
 
-  case 516:
+  case 518:
 
-/* Line 678 of lalr1.cc  */
-#line 4695 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4719 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
             decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7903,10 +7962,10 @@
         }
     break;
 
-  case 517:
+  case 519:
 
-/* Line 678 of lalr1.cc  */
-#line 4701 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4725 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( decl )
@@ -7915,10 +7974,10 @@
         }
     break;
 
-  case 518:
+  case 520:
 
-/* Line 678 of lalr1.cc  */
-#line 4712 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4736 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
             dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7926,10 +7985,10 @@
         }
     break;
 
-  case 519:
+  case 521:
 
-/* Line 678 of lalr1.cc  */
-#line 4718 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4742 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
             if ( dal )
@@ -7938,10 +7997,10 @@
         }
     break;
 
-  case 520:
+  case 522:
 
-/* Line 678 of lalr1.cc  */
-#line 4729 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4753 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttr(
                 LOC((yyloc)),
@@ -7951,114 +8010,114 @@
         }
     break;
 
-  case 523:
+  case 525:
 
-/* Line 678 of lalr1.cc  */
-#line 4746 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4770 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 524:
+  case 526:
 
-/* Line 678 of lalr1.cc  */
-#line 4751 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4775 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 525:
+  case 527:
 
-/* Line 678 of lalr1.cc  */
-#line 4760 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4784 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
         }
     break;
 
-  case 526:
-
-/* Line 678 of lalr1.cc  */
-#line 4764 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 527:
-
-/* Line 678 of lalr1.cc  */
-#line 4771 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
-    {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = qacl;
-        }
-    break;
-
   case 528:
 
-/* Line 678 of lalr1.cc  */
-#line 4777 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4788 "/home/colea/xquery_bzr/hof/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 529:
 
-/* Line 678 of lalr1.cc  */
-#line 4783 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4795 "/home/colea/xquery_bzr/hof/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 530:
 
-/* Line 678 of lalr1.cc  */
-#line 4791 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4801 "/home/colea/xquery_bzr/hof/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 531:
 
-/* Line 678 of lalr1.cc  */
-#line 4803 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4807 "/home/colea/xquery_bzr/hof/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 532:
 
-/* Line 678 of lalr1.cc  */
-#line 4807 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4815 "/home/colea/xquery_bzr/hof/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 533:
 
-/* Line 678 of lalr1.cc  */
-#line 4814 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4827 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+        }
+    break;
+
+  case 534:
+
+/* Line 690 of lalr1.cc  */
+#line 4831 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 535:
+
+/* Line 690 of lalr1.cc  */
+#line 4838 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -8066,10 +8125,10 @@
         }
     break;
 
-  case 534:
+  case 536:
 
-/* Line 678 of lalr1.cc  */
-#line 4820 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4844 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -8077,10 +8136,10 @@
         }
     break;
 
-  case 535:
+  case 537:
 
-/* Line 678 of lalr1.cc  */
-#line 4826 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4850 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if (aacl)
@@ -8089,10 +8148,10 @@
         }
     break;
 
-  case 536:
+  case 538:
 
-/* Line 678 of lalr1.cc  */
-#line 4833 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4857 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( aacl )
@@ -8101,19 +8160,19 @@
         }
     break;
 
-  case 537:
+  case 539:
 
-/* Line 678 of lalr1.cc  */
-#line 4844 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4868 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 538:
+  case 540:
 
-/* Line 678 of lalr1.cc  */
-#line 4848 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4872 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -8121,19 +8180,19 @@
         }
     break;
 
-  case 539:
+  case 541:
 
-/* Line 678 of lalr1.cc  */
-#line 4858 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4882 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 540:
+  case 542:
 
-/* Line 678 of lalr1.cc  */
-#line 4862 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4886 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -8141,48 +8200,48 @@
         }
     break;
 
-  case 541:
+  case 543:
 
-/* Line 678 of lalr1.cc  */
-#line 4872 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4896 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
         }
     break;
 
-  case 542:
+  case 544:
 
-/* Line 678 of lalr1.cc  */
-#line 4876 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4900 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 543:
+  case 545:
 
-/* Line 678 of lalr1.cc  */
-#line 4880 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4904 "/home/colea/xquery_bzr/hof/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 544:
+  case 546:
 
-/* Line 678 of lalr1.cc  */
-#line 4885 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4909 "/home/colea/xquery_bzr/hof/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 545:
+  case 547:
 
-/* Line 678 of lalr1.cc  */
-#line 4894 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4918 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval))
@@ -8190,10 +8249,10 @@
         }
     break;
 
-  case 546:
+  case 548:
 
-/* Line 678 of lalr1.cc  */
-#line 4900 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4924 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_lbrace
@@ -8201,10 +8260,10 @@
         }
     break;
 
-  case 547:
+  case 549:
 
-/* Line 678 of lalr1.cc  */
-#line 4906 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4930 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_rbrace
@@ -8212,82 +8271,64 @@
         }
     break;
 
-  case 548:
+  case 550:
 
-/* Line 678 of lalr1.cc  */
-#line 4912 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4936 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
         }
     break;
 
-  case 549:
+  case 551:
 
-/* Line 678 of lalr1.cc  */
-#line 4920 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4944 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 550:
+  case 552:
 
-/* Line 678 of lalr1.cc  */
-#line 4925 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4949 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
     break;
 
-  case 551:
+  case 553:
 
-/* Line 678 of lalr1.cc  */
-#line 4933 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4957 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 552:
+  case 554:
 
-/* Line 678 of lalr1.cc  */
-#line 4938 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4962 "/home/colea/xquery_bzr/hof/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 553:
+  case 555:
 
-/* Line 678 of lalr1.cc  */
-#line 4946 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4970 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 554:
-
-/* 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);
-    }
-    break;
-
-  case 555:
-
-/* 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);
-    }
-    break;
-
   case 556:
 
-/* Line 678 of lalr1.cc  */
-#line 4964 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4978 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8295,8 +8336,8 @@
 
   case 557:
 
-/* Line 678 of lalr1.cc  */
-#line 4969 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4983 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8304,8 +8345,8 @@
 
   case 558:
 
-/* Line 678 of lalr1.cc  */
-#line 4974 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4988 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8313,8 +8354,8 @@
 
   case 559:
 
-/* Line 678 of lalr1.cc  */
-#line 4979 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4993 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8322,212 +8363,212 @@
 
   case 560:
 
-/* Line 678 of lalr1.cc  */
-#line 4988 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4998 "/home/colea/xquery_bzr/hof/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 561:
 
-/* Line 678 of lalr1.cc  */
-#line 4996 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5003 "/home/colea/xquery_bzr/hof/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 562:
 
-/* Line 678 of lalr1.cc  */
-#line 5000 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5012 "/home/colea/xquery_bzr/hof/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 563:
 
-/* Line 678 of lalr1.cc  */
-#line 5017 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5020 "/home/colea/xquery_bzr/hof/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 564:
 
-/* Line 678 of lalr1.cc  */
-#line 5021 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5024 "/home/colea/xquery_bzr/hof/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 565:
 
-/* Line 678 of lalr1.cc  */
-#line 5029 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5041 "/home/colea/xquery_bzr/hof/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 566:
 
-/* Line 678 of lalr1.cc  */
-#line 5037 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5045 "/home/colea/xquery_bzr/hof/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 567:
 
-/* Line 678 of lalr1.cc  */
-#line 5045 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5053 "/home/colea/xquery_bzr/hof/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 568:
 
-/* Line 678 of lalr1.cc  */
-#line 5049 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5061 "/home/colea/xquery_bzr/hof/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 569:
 
-/* Line 678 of lalr1.cc  */
-#line 5057 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5069 "/home/colea/xquery_bzr/hof/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 570:
 
-/* Line 678 of lalr1.cc  */
-#line 5065 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5073 "/home/colea/xquery_bzr/hof/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 571:
 
-/* Line 678 of lalr1.cc  */
-#line 5069 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5081 "/home/colea/xquery_bzr/hof/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 572:
 
-/* Line 678 of lalr1.cc  */
-#line 5073 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5089 "/home/colea/xquery_bzr/hof/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 573:
 
-/* Line 678 of lalr1.cc  */
-#line 5108 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5093 "/home/colea/xquery_bzr/hof/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 574:
 
-/* Line 678 of lalr1.cc  */
-#line 5114 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5097 "/home/colea/xquery_bzr/hof/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 575:
 
-/* Line 678 of lalr1.cc  */
-#line 5120 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5132 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_one_or_more
+                LOC((yyloc)), ParseConstants::occurs_optionally
             );
         }
     break;
 
   case 576:
 
-/* Line 678 of lalr1.cc  */
-#line 5130 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5138 "/home/colea/xquery_bzr/hof/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 577:
 
-/* Line 678 of lalr1.cc  */
-#line 5134 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5144 "/home/colea/xquery_bzr/hof/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 578:
 
-/* Line 678 of lalr1.cc  */
-#line 5138 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5154 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ItemType( LOC((yyloc)), true );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 579:
 
-/* Line 678 of lalr1.cc  */
-#line 5142 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5158 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 580:
 
-/* Line 678 of lalr1.cc  */
-#line 5146 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5162 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
     break;
 
   case 581:
 
-/* Line 678 of lalr1.cc  */
-#line 5150 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5166 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
     break;
 
   case 582:
 
-/* Line 678 of lalr1.cc  */
-#line 5154 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5170 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8535,8 +8576,26 @@
 
   case 583:
 
-/* Line 678 of lalr1.cc  */
-#line 5161 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5174 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 584:
+
+/* Line 690 of lalr1.cc  */
+#line 5178 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 585:
+
+/* Line 690 of lalr1.cc  */
+#line 5185 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = new TypeList(LOC ((yyloc)));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
@@ -8544,10 +8603,10 @@
         }
     break;
 
-  case 584:
+  case 586:
 
-/* Line 678 of lalr1.cc  */
-#line 5167 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5191 "/home/colea/xquery_bzr/hof/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)));
@@ -8555,46 +8614,28 @@
         }
     break;
 
-  case 585:
+  case 587:
 
-/* Line 678 of lalr1.cc  */
-#line 5177 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5201 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GeneralizedAtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
     break;
 
-  case 586:
+  case 588:
 
-/* Line 678 of lalr1.cc  */
-#line 5185 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5209 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SimpleType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
     }
     break;
 
-  case 587:
-
-/* 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);
-        }
-    break;
-
-  case 588:
-
-/* 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);
-        }
-    break;
-
   case 589:
 
-/* Line 678 of lalr1.cc  */
-#line 5201 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5217 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8602,8 +8643,8 @@
 
   case 590:
 
-/* Line 678 of lalr1.cc  */
-#line 5205 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5221 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8611,8 +8652,8 @@
 
   case 591:
 
-/* Line 678 of lalr1.cc  */
-#line 5209 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5225 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8620,8 +8661,8 @@
 
   case 592:
 
-/* Line 678 of lalr1.cc  */
-#line 5213 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5229 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8629,8 +8670,8 @@
 
   case 593:
 
-/* Line 678 of lalr1.cc  */
-#line 5217 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5233 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8638,8 +8679,8 @@
 
   case 594:
 
-/* Line 678 of lalr1.cc  */
-#line 5221 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5237 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8647,8 +8688,8 @@
 
   case 595:
 
-/* Line 678 of lalr1.cc  */
-#line 5225 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5241 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8656,35 +8697,53 @@
 
   case 596:
 
-/* Line 678 of lalr1.cc  */
-#line 5233 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5245 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 597:
+
+/* Line 690 of lalr1.cc  */
+#line 5249 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 598:
+
+/* Line 690 of lalr1.cc  */
+#line 5257 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AnyKindTest( LOC((yyloc)) );
         }
     break;
 
-  case 597:
+  case 599:
 
-/* Line 678 of lalr1.cc  */
-#line 5241 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5265 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)) );
         }
     break;
 
-  case 598:
+  case 600:
 
-/* Line 678 of lalr1.cc  */
-#line 5245 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5269 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)) );
         }
     break;
 
-  case 599:
+  case 601:
 
-/* Line 678 of lalr1.cc  */
-#line 5249 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5273 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest(
                 LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node))
@@ -8692,259 +8751,259 @@
         }
     break;
 
-  case 600:
+  case 602:
 
-/* Line 678 of lalr1.cc  */
-#line 5259 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5283 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new TextTest( LOC((yyloc)) );
         }
     break;
 
-  case 601:
+  case 603:
 
-/* Line 678 of lalr1.cc  */
-#line 5267 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5291 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new CommentTest( LOC((yyloc)));
         }
     break;
 
-  case 602:
+  case 604:
 
-/* Line 678 of lalr1.cc  */
-#line 5275 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5299 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
     break;
 
-  case 603:
-
-/* Line 678 of lalr1.cc  */
-#line 5279 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
-  case 604:
-
-/* Line 678 of lalr1.cc  */
-#line 5283 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
   case 605:
 
-/* Line 678 of lalr1.cc  */
-#line 5291 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5303 "/home/colea/xquery_bzr/hof/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 606:
 
-/* Line 678 of lalr1.cc  */
-#line 5295 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5307 "/home/colea/xquery_bzr/hof/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 607:
 
-/* Line 678 of lalr1.cc  */
-#line 5301 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5315 "/home/colea/xquery_bzr/hof/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 608:
 
-/* Line 678 of lalr1.cc  */
-#line 5307 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5319 "/home/colea/xquery_bzr/hof/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 609:
 
-/* Line 678 of lalr1.cc  */
-#line 5311 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5325 "/home/colea/xquery_bzr/hof/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 610:
 
-/* Line 678 of lalr1.cc  */
-#line 5321 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5331 "/home/colea/xquery_bzr/hof/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 611:
 
-/* Line 678 of lalr1.cc  */
-#line 5329 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5335 "/home/colea/xquery_bzr/hof/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 612:
 
-/* Line 678 of lalr1.cc  */
-#line 5333 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5345 "/home/colea/xquery_bzr/hof/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 613:
 
-/* Line 678 of lalr1.cc  */
-#line 5339 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5353 "/home/colea/xquery_bzr/hof/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 614:
 
-/* Line 678 of lalr1.cc  */
-#line 5348 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5357 "/home/colea/xquery_bzr/hof/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 615:
 
-/* Line 678 of lalr1.cc  */
-#line 5357 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5363 "/home/colea/xquery_bzr/hof/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 616:
 
-/* Line 678 of lalr1.cc  */
-#line 5363 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5372 "/home/colea/xquery_bzr/hof/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 617:
 
-/* Line 678 of lalr1.cc  */
-#line 5369 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5381 "/home/colea/xquery_bzr/hof/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 618:
 
-/* Line 678 of lalr1.cc  */
-#line 5379 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5387 "/home/colea/xquery_bzr/hof/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 619:
 
-/* Line 678 of lalr1.cc  */
-#line 5396 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5393 "/home/colea/xquery_bzr/hof/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 620:
 
-/* Line 678 of lalr1.cc  */
-#line 5403 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5403 "/home/colea/xquery_bzr/hof/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 621:
 
-/* Line 678 of lalr1.cc  */
-#line 5418 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5420 "/home/colea/xquery_bzr/hof/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 622:
 
-/* Line 678 of lalr1.cc  */
-#line 5454 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5427 "/home/colea/xquery_bzr/hof/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 623:
 
-/* Line 678 of lalr1.cc  */
-#line 5458 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5442 "/home/colea/xquery_bzr/hof/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 624:
 
-/* Line 678 of lalr1.cc  */
-#line 5466 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5478 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 625:
+
+/* Line 690 of lalr1.cc  */
+#line 5482 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 626:
+
+/* Line 690 of lalr1.cc  */
+#line 5490 "/home/colea/xquery_bzr/hof/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 625:
+  case 627:
 
-/* Line 678 of lalr1.cc  */
-#line 5474 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5498 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -8954,46 +9013,46 @@
     }
     break;
 
-  case 626:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 5510 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 629:
+
+/* Line 690 of lalr1.cc  */
+#line 5514 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 630:
+
+/* Line 690 of lalr1.cc  */
+#line 5522 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
     }
     break;
 
-  case 629:
+  case 631:
 
-/* Line 678 of lalr1.cc  */
-#line 5506 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5530 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
         }
     break;
 
-  case 630:
+  case 632:
 
-/* Line 678 of lalr1.cc  */
-#line 5510 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5534 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
               dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
@@ -9001,19 +9060,19 @@
         }
     break;
 
-  case 631:
+  case 633:
 
-/* Line 678 of lalr1.cc  */
-#line 5521 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5545 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 632:
+  case 634:
 
-/* Line 678 of lalr1.cc  */
-#line 5538 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5562 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::strict_validation
@@ -9021,10 +9080,10 @@
         }
     break;
 
-  case 633:
+  case 635:
 
-/* Line 678 of lalr1.cc  */
-#line 5544 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5568 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::lax_validation
@@ -9032,10 +9091,10 @@
         }
     break;
 
-  case 634:
+  case 636:
 
-/* Line 678 of lalr1.cc  */
-#line 5550 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5574 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::skip_validation
@@ -9043,81 +9102,81 @@
         }
     break;
 
-  case 635:
-
-/* 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::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
-        }
-    break;
-
-  case 636:
-
-/* 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::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
-        }
-    break;
-
   case 637:
 
-/* Line 678 of lalr1.cc  */
-#line 5570 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5584 "/home/colea/xquery_bzr/hof/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 638:
 
-/* Line 678 of lalr1.cc  */
-#line 5576 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5588 "/home/colea/xquery_bzr/hof/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 639:
 
-/* Line 678 of lalr1.cc  */
-#line 5580 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5594 "/home/colea/xquery_bzr/hof/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 640:
 
-/* Line 678 of lalr1.cc  */
-#line 5586 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5600 "/home/colea/xquery_bzr/hof/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 641:
 
-/* Line 678 of lalr1.cc  */
-#line 5590 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5604 "/home/colea/xquery_bzr/hof/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 642:
 
-/* Line 678 of lalr1.cc  */
-#line 5596 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5610 "/home/colea/xquery_bzr/hof/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 643:
+
+/* Line 690 of lalr1.cc  */
+#line 5614 "/home/colea/xquery_bzr/hof/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 644:
+
+/* Line 690 of lalr1.cc  */
+#line 5620 "/home/colea/xquery_bzr/hof/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)
@@ -9125,10 +9184,10 @@
         }
     break;
 
-  case 643:
+  case 645:
 
-/* Line 678 of lalr1.cc  */
-#line 5602 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5626 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)),
@@ -9137,39 +9196,39 @@
         }
     break;
 
-  case 644:
-
-/* Line 678 of lalr1.cc  */
-#line 5609 "/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)
-            );
-        }
-    break;
-
-  case 645:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 5633 "/home/colea/xquery_bzr/hof/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 647:
 
-/* Line 678 of lalr1.cc  */
-#line 5632 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5643 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 648:
+
+/* Line 690 of lalr1.cc  */
+#line 5648 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 649:
+
+/* Line 690 of lalr1.cc  */
+#line 5656 "/home/colea/xquery_bzr/hof/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)
@@ -9177,10 +9236,10 @@
         }
     break;
 
-  case 648:
+  case 650:
 
-/* Line 678 of lalr1.cc  */
-#line 5638 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5662 "/home/colea/xquery_bzr/hof/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)
@@ -9188,29 +9247,29 @@
         }
     break;
 
-  case 649:
+  case 651:
 
-/* Line 678 of lalr1.cc  */
-#line 5648 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5672 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 650:
+  case 652:
 
-/* Line 678 of lalr1.cc  */
-#line 5670 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5694 "/home/colea/xquery_bzr/hof/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 651:
+  case 653:
 
-/* Line 678 of lalr1.cc  */
-#line 5679 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5703 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -9218,10 +9277,10 @@
     }
     break;
 
-  case 652:
+  case 654:
 
-/* Line 678 of lalr1.cc  */
-#line 5685 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5709 "/home/colea/xquery_bzr/hof/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));
@@ -9230,28 +9289,28 @@
     }
     break;
 
-  case 653:
+  case 655:
 
-/* Line 678 of lalr1.cc  */
-#line 5698 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5722 "/home/colea/xquery_bzr/hof/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 654:
+  case 656:
 
-/* Line 678 of lalr1.cc  */
-#line 5712 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5736 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 655:
+  case 657:
 
-/* Line 678 of lalr1.cc  */
-#line 5719 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5743 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -9259,10 +9318,10 @@
         }
     break;
 
-  case 656:
+  case 658:
 
-/* Line 678 of lalr1.cc  */
-#line 5725 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5749 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9271,29 +9330,29 @@
         }
     break;
 
-  case 657:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 5759 "/home/colea/xquery_bzr/hof/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 660:
+
+/* Line 690 of lalr1.cc  */
+#line 5768 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
+
+  case 661:
+
+/* Line 690 of lalr1.cc  */
+#line 5776 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9301,10 +9360,10 @@
         }
     break;
 
-  case 660:
+  case 662:
 
-/* Line 678 of lalr1.cc  */
-#line 5758 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5782 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9313,76 +9372,58 @@
         }
     break;
 
-  case 661:
+  case 663:
 
-/* Line 678 of lalr1.cc  */
-#line 5776 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5800 "/home/colea/xquery_bzr/hof/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 662:
+  case 664:
 
-/* Line 678 of lalr1.cc  */
-#line 5784 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5808 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
     break;
 
-  case 663:
+  case 665:
 
-/* Line 678 of lalr1.cc  */
-#line 5788 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5812 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
     break;
 
-  case 664:
+  case 666:
 
-/* Line 678 of lalr1.cc  */
-#line 5795 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5819 "/home/colea/xquery_bzr/hof/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 665:
+  case 667:
 
-/* Line 678 of lalr1.cc  */
-#line 5800 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5824 "/home/colea/xquery_bzr/hof/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 666:
-
-/* 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);
-        }
-    break;
-
-  case 667:
-
-/* Line 678 of lalr1.cc  */
-#line 5812 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
-        }
-    break;
-
   case 668:
 
-/* Line 678 of lalr1.cc  */
-#line 5819 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5832 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9390,17 +9431,17 @@
 
   case 669:
 
-/* Line 678 of lalr1.cc  */
-#line 5823 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5836 "/home/colea/xquery_bzr/hof/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 670:
 
-/* Line 678 of lalr1.cc  */
-#line 5830 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5843 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9408,17 +9449,17 @@
 
   case 671:
 
-/* Line 678 of lalr1.cc  */
-#line 5834 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5847 "/home/colea/xquery_bzr/hof/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 672:
 
-/* Line 678 of lalr1.cc  */
-#line 5841 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5854 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9426,8 +9467,26 @@
 
   case 673:
 
-/* Line 678 of lalr1.cc  */
-#line 5845 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5858 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+        }
+    break;
+
+  case 674:
+
+/* Line 690 of lalr1.cc  */
+#line 5865 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 675:
+
+/* Line 690 of lalr1.cc  */
+#line 5869 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9435,10 +9494,10 @@
         }
     break;
 
-  case 674:
+  case 676:
 
-/* Line 678 of lalr1.cc  */
-#line 5854 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5878 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9449,28 +9508,10 @@
         }
     break;
 
-  case 675:
-
-/* Line 678 of lalr1.cc  */
-#line 5866 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 676:
-
-/* 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);
-        }
-    break;
-
   case 677:
 
-/* Line 678 of lalr1.cc  */
-#line 5877 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5890 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9478,8 +9519,8 @@
 
   case 678:
 
-/* Line 678 of lalr1.cc  */
-#line 5881 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5894 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9487,17 +9528,35 @@
 
   case 679:
 
-/* Line 678 of lalr1.cc  */
-#line 5889 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5901 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 680:
+
+/* Line 690 of lalr1.cc  */
+#line 5905 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 681:
+
+/* Line 690 of lalr1.cc  */
+#line 5913 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 680:
+  case 682:
 
-/* Line 678 of lalr1.cc  */
-#line 5897 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5921 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
@@ -9507,37 +9566,19 @@
         }
     break;
 
-  case 681:
+  case 683:
 
-/* Line 678 of lalr1.cc  */
-#line 5905 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5929 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 682:
-
-/* 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);
-        }
-    break;
-
-  case 683:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 5933 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9545,8 +9586,26 @@
 
   case 685:
 
-/* Line 678 of lalr1.cc  */
-#line 5928 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5940 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 686:
+
+/* Line 690 of lalr1.cc  */
+#line 5944 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 687:
+
+/* Line 690 of lalr1.cc  */
+#line 5952 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionSelection(
                 LOC((yyloc)),
@@ -9556,28 +9615,28 @@
         }
     break;
 
-  case 686:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 5963 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 689:
+
+/* Line 690 of lalr1.cc  */
+#line 5967 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 690:
+
+/* Line 690 of lalr1.cc  */
+#line 5975 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWords(
                 LOC((yyloc)),
@@ -9587,10 +9646,10 @@
         }
     break;
 
-  case 689:
+  case 691:
 
-/* Line 678 of lalr1.cc  */
-#line 5963 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5987 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
@@ -9598,10 +9657,10 @@
         }
     break;
 
-  case 690:
+  case 692:
 
-/* Line 678 of lalr1.cc  */
-#line 5969 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5993 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
@@ -9609,109 +9668,91 @@
         }
     break;
 
-  case 691:
+  case 693:
 
-/* Line 678 of lalr1.cc  */
-#line 5978 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6002 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
     break;
 
-  case 692:
-
-/* Line 678 of lalr1.cc  */
-#line 5982 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 693:
-
-/* 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)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
-        }
-    break;
-
   case 694:
 
-/* Line 678 of lalr1.cc  */
-#line 5994 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6006 "/home/colea/xquery_bzr/hof/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 695:
 
-/* Line 678 of lalr1.cc  */
-#line 5998 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6014 "/home/colea/xquery_bzr/hof/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 696:
 
-/* Line 678 of lalr1.cc  */
-#line 6005 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6018 "/home/colea/xquery_bzr/hof/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 697:
 
-/* Line 678 of lalr1.cc  */
-#line 6009 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6022 "/home/colea/xquery_bzr/hof/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 698:
 
-/* Line 678 of lalr1.cc  */
-#line 6016 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6029 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
     break;
 
   case 699:
 
-/* Line 678 of lalr1.cc  */
-#line 6020 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6033 "/home/colea/xquery_bzr/hof/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 700:
 
-/* Line 678 of lalr1.cc  */
-#line 6028 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6040 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all;
         }
     break;
 
   case 701:
 
-/* Line 678 of lalr1.cc  */
-#line 6032 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6044 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
         }
     break;
 
   case 702:
 
-/* Line 678 of lalr1.cc  */
-#line 6036 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6052 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9719,8 +9760,8 @@
 
   case 703:
 
-/* Line 678 of lalr1.cc  */
-#line 6040 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6056 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9728,8 +9769,8 @@
 
   case 704:
 
-/* Line 678 of lalr1.cc  */
-#line 6044 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6060 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9737,17 +9778,35 @@
 
   case 705:
 
-/* Line 678 of lalr1.cc  */
-#line 6052 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6064 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 706:
+
+/* Line 690 of lalr1.cc  */
+#line 6068 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 707:
+
+/* Line 690 of lalr1.cc  */
+#line 6076 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
     break;
 
-  case 706:
+  case 708:
 
-/* Line 678 of lalr1.cc  */
-#line 6060 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6084 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9757,10 +9816,10 @@
         }
     break;
 
-  case 707:
+  case 709:
 
-/* Line 678 of lalr1.cc  */
-#line 6072 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6096 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9770,37 +9829,37 @@
         }
     break;
 
-  case 708:
+  case 710:
 
-/* Line 678 of lalr1.cc  */
-#line 6084 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6108 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
     break;
 
-  case 709:
+  case 711:
 
-/* Line 678 of lalr1.cc  */
-#line 6088 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6112 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
     break;
 
-  case 710:
+  case 712:
 
-/* Line 678 of lalr1.cc  */
-#line 6092 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6116 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
     break;
 
-  case 711:
+  case 713:
 
-/* Line 678 of lalr1.cc  */
-#line 6100 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6124 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9808,10 +9867,10 @@
         }
     break;
 
-  case 712:
+  case 714:
 
-/* Line 678 of lalr1.cc  */
-#line 6106 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6130 "/home/colea/xquery_bzr/hof/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)) );
@@ -9819,28 +9878,10 @@
         }
     break;
 
-  case 713:
-
-/* 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);
-        }
-    break;
-
-  case 714:
-
-/* 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);
-        }
-    break;
-
   case 715:
 
-/* Line 678 of lalr1.cc  */
-#line 6124 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6140 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9848,8 +9889,8 @@
 
   case 716:
 
-/* Line 678 of lalr1.cc  */
-#line 6128 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6144 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9857,8 +9898,8 @@
 
   case 717:
 
-/* Line 678 of lalr1.cc  */
-#line 6132 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6148 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9866,8 +9907,8 @@
 
   case 718:
 
-/* Line 678 of lalr1.cc  */
-#line 6136 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6152 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9875,8 +9916,8 @@
 
   case 719:
 
-/* Line 678 of lalr1.cc  */
-#line 6140 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6156 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9884,8 +9925,8 @@
 
   case 720:
 
-/* Line 678 of lalr1.cc  */
-#line 6144 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6160 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9893,44 +9934,62 @@
 
   case 721:
 
-/* Line 678 of lalr1.cc  */
-#line 6152 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6164 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 722:
+
+/* Line 690 of lalr1.cc  */
+#line 6168 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 723:
+
+/* Line 690 of lalr1.cc  */
+#line 6176 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
     break;
 
-  case 722:
+  case 724:
 
-/* Line 678 of lalr1.cc  */
-#line 6156 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6180 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
     break;
 
-  case 723:
+  case 725:
 
-/* Line 678 of lalr1.cc  */
-#line 6160 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6184 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
     break;
 
-  case 724:
+  case 726:
 
-/* Line 678 of lalr1.cc  */
-#line 6164 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6188 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
     break;
 
-  case 725:
+  case 727:
 
-/* Line 678 of lalr1.cc  */
-#line 6172 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6196 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -9938,10 +9997,10 @@
         }
     break;
 
-  case 726:
+  case 728:
 
-/* Line 678 of lalr1.cc  */
-#line 6178 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6202 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -9949,10 +10008,10 @@
         }
     break;
 
-  case 727:
+  case 729:
 
-/* Line 678 of lalr1.cc  */
-#line 6188 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6212 "/home/colea/xquery_bzr/hof/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))
@@ -9960,28 +10019,28 @@
         }
     break;
 
-  case 728:
+  case 730:
 
-/* Line 678 of lalr1.cc  */
-#line 6198 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6222 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
     break;
 
-  case 729:
+  case 731:
 
-/* Line 678 of lalr1.cc  */
-#line 6202 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6226 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
     break;
 
-  case 730:
+  case 732:
 
-/* Line 678 of lalr1.cc  */
-#line 6210 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6234 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -9993,10 +10052,10 @@
         }
     break;
 
-  case 731:
+  case 733:
 
-/* Line 678 of lalr1.cc  */
-#line 6220 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6244 "/home/colea/xquery_bzr/hof/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) ) {
@@ -10009,75 +10068,75 @@
         }
     break;
 
-  case 732:
+  case 734:
 
-/* Line 678 of lalr1.cc  */
-#line 6231 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6255 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
     break;
 
-  case 733:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 6262 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 736:
+
+/* Line 690 of lalr1.cc  */
+#line 6266 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 737:
+
+/* Line 690 of lalr1.cc  */
+#line 6273 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
     break;
 
-  case 736:
+  case 738:
 
-/* Line 678 of lalr1.cc  */
-#line 6253 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6277 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
     break;
 
-  case 737:
+  case 739:
 
-/* Line 678 of lalr1.cc  */
-#line 6260 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6284 "/home/colea/xquery_bzr/hof/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 738:
+  case 740:
 
-/* Line 678 of lalr1.cc  */
-#line 6265 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6289 "/home/colea/xquery_bzr/hof/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 739:
+  case 741:
 
-/* Line 678 of lalr1.cc  */
-#line 6274 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6298 "/home/colea/xquery_bzr/hof/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))
@@ -10085,46 +10144,46 @@
         }
     break;
 
-  case 740:
+  case 742:
 
-/* Line 678 of lalr1.cc  */
-#line 6283 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6307 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = 0;
         }
     break;
 
-  case 741:
+  case 743:
 
-/* Line 678 of lalr1.cc  */
-#line 6287 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6311 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
     break;
 
-  case 742:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 6318 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 745:
+
+/* Line 690 of lalr1.cc  */
+#line 6322 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 746:
+
+/* Line 690 of lalr1.cc  */
+#line 6330 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -10135,10 +10194,10 @@
         }
     break;
 
-  case 745:
+  case 747:
 
-/* Line 678 of lalr1.cc  */
-#line 6315 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6339 "/home/colea/xquery_bzr/hof/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
@@ -10147,10 +10206,10 @@
         }
     break;
 
-  case 746:
+  case 748:
 
-/* Line 678 of lalr1.cc  */
-#line 6322 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6346 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -10158,28 +10217,28 @@
         }
     break;
 
-  case 747:
+  case 749:
 
-/* Line 678 of lalr1.cc  */
-#line 6332 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6356 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
     break;
 
-  case 748:
+  case 750:
 
-/* Line 678 of lalr1.cc  */
-#line 6336 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6360 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
     break;
 
-  case 749:
+  case 751:
 
-/* Line 678 of lalr1.cc  */
-#line 6343 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6367 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -10187,10 +10246,10 @@
         }
     break;
 
-  case 750:
+  case 752:
 
-/* Line 678 of lalr1.cc  */
-#line 6349 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6373 "/home/colea/xquery_bzr/hof/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)) );
@@ -10198,38 +10257,38 @@
         }
     break;
 
-  case 751:
+  case 753:
 
-/* Line 678 of lalr1.cc  */
-#line 6358 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6382 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
     break;
 
-  case 752:
+  case 754:
 
-/* Line 678 of lalr1.cc  */
-#line 6362 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6386 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
     break;
 
-  case 753:
+  case 755:
 
-/* Line 678 of lalr1.cc  */
-#line 6369 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6393 "/home/colea/xquery_bzr/hof/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 754:
+  case 756:
 
-/* Line 678 of lalr1.cc  */
-#line 6374 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6398 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -10239,10 +10298,10 @@
         }
     break;
 
-  case 755:
+  case 757:
 
-/* Line 678 of lalr1.cc  */
-#line 6386 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6410 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10252,10 +10311,10 @@
         }
     break;
 
-  case 756:
+  case 758:
 
-/* Line 678 of lalr1.cc  */
-#line 6394 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6418 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10265,109 +10324,109 @@
         }
     break;
 
-  case 757:
+  case 759:
 
-/* Line 678 of lalr1.cc  */
-#line 6406 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6430 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 758:
+  case 760:
 
-/* Line 678 of lalr1.cc  */
-#line 6414 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6438 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
     break;
 
-  case 759:
+  case 761:
 
-/* Line 678 of lalr1.cc  */
-#line 6418 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6442 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
     break;
 
-  case 760:
+  case 762:
 
-/* Line 678 of lalr1.cc  */
-#line 6426 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6450 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
     break;
 
-  case 761:
+  case 763:
 
-/* Line 678 of lalr1.cc  */
-#line 6430 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6454 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
     break;
 
-  case 762:
+  case 764:
 
-/* Line 678 of lalr1.cc  */
-#line 6434 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6458 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
     break;
 
-  case 763:
+  case 765:
 
-/* Line 678 of lalr1.cc  */
-#line 6442 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6466 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
     break;
 
-  case 764:
+  case 766:
 
-/* Line 678 of lalr1.cc  */
-#line 6450 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6474 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
-  case 765:
+  case 767:
 
-/* Line 678 of lalr1.cc  */
-#line 6454 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6478 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 766:
+  case 768:
 
-/* Line 678 of lalr1.cc  */
-#line 6458 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6482 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 767:
+  case 769:
 
-/* Line 678 of lalr1.cc  */
-#line 6462 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6486 "/home/colea/xquery_bzr/hof/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 768:
+  case 770:
 
-/* Line 678 of lalr1.cc  */
-#line 6470 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6494 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10377,10 +10436,10 @@
         }
     break;
 
-  case 769:
+  case 771:
 
-/* Line 678 of lalr1.cc  */
-#line 6478 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6502 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10390,105 +10449,105 @@
         }
     break;
 
-  case 770:
+  case 772:
 
-/* Line 678 of lalr1.cc  */
-#line 6490 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6514 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
     break;
 
-  case 771:
+  case 773:
 
-/* Line 678 of lalr1.cc  */
-#line 6494 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6518 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
     break;
 
-  case 772:
+  case 774:
 
-/* Line 678 of lalr1.cc  */
-#line 6502 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6526 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
     break;
 
-  case 773:
+  case 775:
 
-/* Line 678 of lalr1.cc  */
-#line 6516 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6540 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
     break;
 
-  case 774:
+  case 776:
 
-/* Line 678 of lalr1.cc  */
-#line 6520 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6544 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 775:
+  case 777:
 
-/* Line 678 of lalr1.cc  */
-#line 6527 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6551 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
 
-  case 776:
+  case 778:
 
-/* Line 678 of lalr1.cc  */
-#line 6532 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6556 "/home/colea/xquery_bzr/hof/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 777:
+  case 779:
 
-/* Line 678 of lalr1.cc  */
-#line 6540 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6564 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
 
-  case 778:
+  case 780:
 
-/* Line 678 of lalr1.cc  */
-#line 6545 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6569 "/home/colea/xquery_bzr/hof/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 779:
+  case 781:
 
-/* Line 678 of lalr1.cc  */
-#line 6554 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6578 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 780:
+  case 782:
 
-/* Line 678 of lalr1.cc  */
-#line 6562 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6586 "/home/colea/xquery_bzr/hof/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)));
@@ -10496,10 +10555,10 @@
         }
     break;
 
-  case 781:
+  case 783:
 
-/* Line 678 of lalr1.cc  */
-#line 6568 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6592 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10508,10 +10567,10 @@
         }
     break;
 
-  case 782:
+  case 784:
 
-/* Line 678 of lalr1.cc  */
-#line 6578 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6602 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         (yysemantic_stack_[(5) - (3)].expr),
@@ -10519,10 +10578,10 @@
         }
     break;
 
-  case 783:
+  case 785:
 
-/* Line 678 of lalr1.cc  */
-#line 6584 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6608 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (3)].node));
           (yyval.expr) = new JSONObjectInsertExpr(
@@ -10534,28 +10593,28 @@
         }
     break;
 
-  case 784:
+  case 786:
 
-/* Line 678 of lalr1.cc  */
-#line 6594 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6618 "/home/colea/xquery_bzr/hof/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 785:
+  case 787:
 
-/* Line 678 of lalr1.cc  */
-#line 6601 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6625 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
         }
     break;
 
-  case 786:
+  case 788:
 
-/* Line 678 of lalr1.cc  */
-#line 6608 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6632 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(3) - (3)].expr));
@@ -10579,10 +10638,10 @@
         }
     break;
 
-  case 787:
+  case 789:
 
-/* Line 678 of lalr1.cc  */
-#line 6633 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6657 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(5) - (3)].expr));
@@ -10609,10 +10668,10 @@
         }
     break;
 
-  case 788:
+  case 790:
 
-/* Line 678 of lalr1.cc  */
-#line 6661 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6685 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation =
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(7) - (5)].expr));
@@ -10639,28 +10698,10 @@
         }
     break;
 
-  case 789:
-
-/* 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);
-        }
-    break;
-
-  case 790:
-
-/* 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"
+/* Line 690 of lalr1.cc  */
+#line 6713 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10668,35 +10709,53 @@
 
   case 792:
 
-/* Line 678 of lalr1.cc  */
-#line 6704 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6717 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 793:
+
+/* Line 690 of lalr1.cc  */
+#line 6721 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 794:
+
+/* Line 690 of lalr1.cc  */
+#line 6728 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
-  case 793:
+  case 795:
 
-/* Line 678 of lalr1.cc  */
-#line 6711 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6735 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
     break;
 
-  case 794:
+  case 796:
 
-/* Line 678 of lalr1.cc  */
-#line 6718 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6742 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
     break;
 
-  case 797:
+  case 799:
 
-/* Line 678 of lalr1.cc  */
-#line 6735 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6759 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     {
           auto_ptr<QName> lQName( static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
           zstring const &tmp = lQName->get_qname();
@@ -10708,1560 +10767,1571 @@
         }
     break;
 
-  case 799:
+  case 801:
 
-/* Line 678 of lalr1.cc  */
-#line 6748 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6772 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 800:
+  case 802:
 
-/* Line 678 of lalr1.cc  */
-#line 6749 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6773 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 801:
+  case 803:
 
-/* Line 678 of lalr1.cc  */
-#line 6750 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6774 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 802:
+  case 804:
 
-/* Line 678 of lalr1.cc  */
-#line 6751 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6775 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 803:
+  case 805:
 
-/* Line 678 of lalr1.cc  */
-#line 6752 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6776 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("item"))); }
     break;
 
-  case 804:
+  case 806:
 
-/* Line 678 of lalr1.cc  */
-#line 6753 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6777 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 805:
+  case 807:
 
-/* Line 678 of lalr1.cc  */
-#line 6754 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6778 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 806:
+  case 808:
 
-/* Line 678 of lalr1.cc  */
-#line 6755 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6779 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 807:
+  case 809:
 
-/* Line 678 of lalr1.cc  */
-#line 6756 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6780 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 808:
+  case 810:
 
-/* Line 678 of lalr1.cc  */
-#line 6757 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6781 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 809:
+  case 811:
 
-/* Line 678 of lalr1.cc  */
-#line 6758 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6782 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 810:
+  case 812:
 
-/* Line 678 of lalr1.cc  */
-#line 6759 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6783 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 811:
+  case 813:
 
-/* Line 678 of lalr1.cc  */
-#line 6760 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6784 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 812:
+  case 814:
 
-/* Line 678 of lalr1.cc  */
-#line 6761 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6785 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 813:
+  case 815:
 
-/* Line 678 of lalr1.cc  */
-#line 6762 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6786 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 815:
+  case 817:
 
-/* Line 678 of lalr1.cc  */
-#line 6767 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6791 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 816:
+  case 818:
 
-/* Line 678 of lalr1.cc  */
-#line 6768 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6792 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 817:
+  case 819:
 
-/* Line 678 of lalr1.cc  */
-#line 6769 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6793 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 818:
+  case 820:
 
-/* Line 678 of lalr1.cc  */
-#line 6770 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6794 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 819:
+  case 821:
 
-/* Line 678 of lalr1.cc  */
-#line 6771 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6795 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 820:
+  case 822:
 
-/* Line 678 of lalr1.cc  */
-#line 6772 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6796 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 821:
+  case 823:
 
-/* Line 678 of lalr1.cc  */
-#line 6773 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6797 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 822:
+  case 824:
 
-/* Line 678 of lalr1.cc  */
-#line 6774 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6798 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 823:
+  case 825:
 
-/* Line 678 of lalr1.cc  */
-#line 6775 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6799 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 824:
+  case 826:
 
-/* Line 678 of lalr1.cc  */
-#line 6776 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6800 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 825:
+  case 827:
 
-/* Line 678 of lalr1.cc  */
-#line 6777 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6801 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 826:
+  case 828:
 
-/* Line 678 of lalr1.cc  */
-#line 6778 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6802 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 827:
+  case 829:
 
-/* Line 678 of lalr1.cc  */
-#line 6779 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6803 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 828:
+  case 830:
 
-/* Line 678 of lalr1.cc  */
-#line 6780 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6804 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 829:
+  case 831:
 
-/* Line 678 of lalr1.cc  */
-#line 6781 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6805 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 830:
+  case 832:
 
-/* Line 678 of lalr1.cc  */
-#line 6782 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6806 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 831:
+  case 833:
 
-/* Line 678 of lalr1.cc  */
-#line 6783 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6807 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 832:
+  case 834:
 
-/* Line 678 of lalr1.cc  */
-#line 6784 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6808 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 833:
+  case 835:
 
-/* Line 678 of lalr1.cc  */
-#line 6785 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6809 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 834:
+  case 836:
 
-/* Line 678 of lalr1.cc  */
-#line 6786 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6810 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 835:
+  case 837:
 
-/* Line 678 of lalr1.cc  */
-#line 6787 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6811 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 836:
+  case 838:
 
-/* Line 678 of lalr1.cc  */
-#line 6788 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6812 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 837:
+  case 839:
 
-/* Line 678 of lalr1.cc  */
-#line 6789 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6813 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 838:
+  case 840:
 
-/* Line 678 of lalr1.cc  */
-#line 6790 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6814 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 839:
+  case 841:
 
-/* Line 678 of lalr1.cc  */
-#line 6791 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6815 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
-  case 840:
+  case 842:
 
-/* Line 678 of lalr1.cc  */
-#line 6792 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6816 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
-  case 841:
+  case 843:
 
-/* Line 678 of lalr1.cc  */
-#line 6793 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6817 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("skip"))); }
     break;
 
-  case 842:
+  case 844:
 
-/* Line 678 of lalr1.cc  */
-#line 6794 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6818 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy"))); }
     break;
 
-  case 843:
+  case 845:
 
-/* Line 678 of lalr1.cc  */
-#line 6795 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6819 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("general"))); }
     break;
 
-  case 844:
+  case 846:
 
-/* Line 678 of lalr1.cc  */
-#line 6796 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6820 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("value"))); }
     break;
 
-  case 845:
+  case 847:
 
-/* Line 678 of lalr1.cc  */
-#line 6797 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6821 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("eq"))); }
     break;
 
-  case 846:
+  case 848:
 
-/* Line 678 of lalr1.cc  */
-#line 6798 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6822 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ne"))); }
     break;
 
-  case 847:
+  case 849:
 
-/* Line 678 of lalr1.cc  */
-#line 6799 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6823 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lt"))); }
     break;
 
-  case 848:
+  case 850:
 
-/* Line 678 of lalr1.cc  */
-#line 6800 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6824 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("le"))); }
     break;
 
-  case 849:
+  case 851:
 
-/* Line 678 of lalr1.cc  */
-#line 6801 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6825 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("gt"))); }
     break;
 
-  case 850:
+  case 852:
 
-/* Line 678 of lalr1.cc  */
-#line 6802 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6826 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ge"))); }
     break;
 
-  case 851:
+  case 853:
 
-/* Line 678 of lalr1.cc  */
-#line 6803 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6827 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("at"))); }
     break;
 
-  case 852:
+  case 854:
 
-/* Line 678 of lalr1.cc  */
-#line 6804 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6828 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("context"))); }
     break;
 
-  case 853:
+  case 855:
 
-/* Line 678 of lalr1.cc  */
-#line 6805 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6829 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("variable"))); }
     break;
 
-  case 854:
+  case 856:
 
-/* Line 678 of lalr1.cc  */
-#line 6806 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6830 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("return"))); }
     break;
 
-  case 855:
+  case 857:
 
-/* Line 678 of lalr1.cc  */
-#line 6807 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6831 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("for"))); }
     break;
 
-  case 856:
+  case 858:
 
-/* Line 678 of lalr1.cc  */
-#line 6808 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6832 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("allowing"))); }
     break;
 
-  case 857:
+  case 859:
 
-/* Line 678 of lalr1.cc  */
-#line 6809 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6833 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sliding"))); }
     break;
 
-  case 858:
+  case 860:
 
-/* Line 678 of lalr1.cc  */
-#line 6810 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6834 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("tumbling"))); }
     break;
 
-  case 859:
+  case 861:
 
-/* Line 678 of lalr1.cc  */
-#line 6811 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6835 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("previous"))); }
     break;
 
-  case 860:
+  case 862:
 
-/* Line 678 of lalr1.cc  */
-#line 6812 "/home/markos/zorba/repo/union-sequence-types/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6836 "/home/colea/xquery_bzr/hof/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("next"))); }
     break;
 
-  case 861:
+  case 863:
 
-/* Line 678 of lalr1.cc  */
-#line 6813 "/home/markos/zorba

Follow ups