xquery madness

Maybe I don’t understand xQuery enough yet. I’ve only been working with it for a little while, and it’s a very strange, arcane language.

But I don’t understand why these two functions return different results. The text between the smiley parentheses should be a comment, ignored by the parser and not output. But it isn’t ignored. In fact, the first function returns the comments and everything!

declare function foo() {
<foo>
(: <bar /> :)
  </foo>
}; 

declare function foo() {
<foo>
  </foo>
};