title: muenchian grouping
body: <p>I was wondering how this predicate([1]), is hardcoded as 1 always in the muenchian grouping. The concept was not clear for me, after a lot of search. It is explained as the current node, is compared with the 1st group returned by the key. 
  Why does it always compare with the first one that a key is matched?
  Also why are we giving <code>contact[count(. | key('contacts-by-surname', surname)[1]) = 1], the =1 part?</code> again 1 is hardcoded. I referred the below link</p>
  
  <p><a href="http://www.jenitennison.com/xslt/grouping/muenchian.html" rel="nofollow">http://www.jenitennison.com/xslt/grouping/muenchian.html</a></p>