anchor.diff:  Many time when triaging data we want to consider only the most important of
   the aggregation groups, for some definition of "important".
   
  -For instance, we may want to focus on the top 10 lowest monthly salary in our
  +For instance, we may want to focus on the top 10 lowest yearly salary in our
   employee stream so that we do not waste processing time on the rest.
   
   The +TOP+ clause offers to ignore all but the most important groups:
   
   [source,sql]
   ----
  -SELECT name, avg salary FROM employee
  -GROUP BY name, month
  -TOP 10 BY -salary
  -----
  -
  -The general syntax of the +TOP+ clause is merely:
  -
  -[source,sql]
  -----
  -TOP number BY expression
  -----
  -
  -Where the number must be a positive integer and the expression must be
  -stateless (ie. uses no stateful functions), refers only to the input tuple, and
  -produce a number that will be used as a _weight_ contributed to the group by
  -the input tuple.
  +SELECT name FROM employee
  +GROUP BY name
  +TOP 10 BY -avg(salary) WHEN group.#count = 12
  +----
  +
  +Notice that the minus sign before the `avg` function: this is because TOP
  +selects the highest result of the given expression. As we want to select the
  +lowest salaries we have to ask for the top negative salaries.
  +
  +Notice also that the top replaces both the +COMMIT+ and +FLUSH+ clauses with a
  +single condition that will in practice work like a global +COMMIT AND FLUSH+
  +clause: once this condition is met all groups will be output and reset. After
  +that a whole new TOP will start with the next tuples to come.
  +
  +The general syntax of the +TOP+ clause is:
  +
  +[source,sql]
  +----
  +TOP number BY expression WHEN condition
  +----
  +
  +Where the number must be a positive integer and the expression must refers only
  +to the input tuple and produce a number that will be used as a _weight_
  +contributed to the group by that input tuple.
   
   The presence of a +TOP+ clause changes slightly how a +Group By+ operation
   works. First and foremost, the number of groups that are maintained in memory
   is reduced to the same magnitude as the selected number, which can greatly
  -reduce the memory footprint of the operation. Secondly, the only commit
  -and flush clauses that are currently compatible with the top clause are to
  -commit and flush the whole top groups at once.
  +reduce the memory footprint of the operation.
   
   ===== The Complete Picture
   
  
positive.code: internally stored as 48bits unsigned integers and can be casted from/to other
  integer types.
  
  IP addresses are also accepted, either v4 or v6, and again without strings.
  
  CIDR addresses are also accepted; for instance `192.168.10.0/24`.
  
  
negative.code: == The Configuration Language Reference
  
  We describe first values, then expressions, then operations.  All these
  concepts reference each others so there is no reading order that would save
  you from jumping around. First reading may not be clear but everything should
  eventually fall into place.
  
  === Blanks
  
  Any blank or newline is a separator.
  
  === Comments
  
  As in SQL, two dashes introduce a line comment. Everything from those dashes
  and the end of that line is considered a space.
  
  There is no block comments.
  
  === Quotation
  
  Some rare reserved keywords cannot be used as identifiers unless surrounded by
  simple quotes.
  
  === Values
  
  ==== NULLs
  
  Like in SQL, some field may have the NULL value. Ramen typing system knows what
  value can be NULL and spare the NULL checks unless necessary.
  
  Users can check if a nullable value is indeed NULL using the +IS NULL+ or +IS
  NOT NULL+ operators, which turn a nullable value into a boolean. This is useful
  in where clauses.
  
  +NULL+ is both a type and a value. The +NULL+ value is the only possible value
  of the +NULL+ type, or a possible value for any nullable field.
  
  To write a literal +NULL+ value (of the +NULL+ type, for what it's worth),
  enter `NULL`.
  
  ==== Booleans
  
  The type for booleans is called `boolean` (`bool` is also accepted).
  Boolean true and false are spelled `true` and `false`.
  
  ==== Strings
  
  The type for character strings is called `string`.  A literal string is double
  quoted (with +"+). To include a double-quote, backslash it.  Other characters
  can be backslashed: single quote (`"\'"`), newlines (`"\n"` and `"\r"`),
  horizontal tab (`"\t"`), backspace (`"\b"`) and the backslash itself (`"\\"`).
  
  Some functions consider strings as UTF-8 encoded, some consider strings as mere
  sequence of bytes.
  