anchor.diff:  +
   To expand a text according to the pattern `forall(_DELIMITER_){_SNIPPET_}`, repeat the `_SNIPPET_` once for each of the values of the comma-separated list in each of the cells below, insert the value in place of the symbol `$`, and join these expansions by the given `_DELIMITER_`. Note that the `forall` construct may be surrounded by other text.
   +
  -If the first cell contains an object, the completed code snippet is added to the conditional element from that cell. A pair of parentheses is provided automatically, as well as a separating comma if multiple constraints are added to a pattern in a merged cell. If the first cell is empty, the code snippet in this cell must result in a valid conditional element on its own. For example, instead of `Person` as the object type and `age` as the constraint (separate cells), you can enter `Person( age == $1)` in the constraint cell and leave the cell above it empty.
  +If the first cell contains an object, the completed code snippet is added to the conditional element from that cell. A pair of parentheses is provided automatically, as well as a separating comma if multiple constraints are added to a pattern in a merged cell. If the first cell is empty, the code snippet in this cell must result in a valid conditional element on its own. For example, instead of `Order` as the object type and `itemsCount > $1` as a constraint (separate cells), you can leave the object type cell empty and enter `Order( itemsCount > $1)` in the constraint cell, and then do the same for any other constraint cells.
   * *Third cell:* Text in the third cell below `CONDITION` is a descriptive label that you define for the column, as a visual aid.
   * *Fourth cell:* From the fourth row on, non-blank entries provide data for interpolation. A blank cell omits the condition or constraint for this rule.
   
  
positive.code: 
  * *First cell:* Text in the first cell below `CONDITION` develops into a pattern for the rule condition, and uses the snippet in the next line as a constraint. If the cell is merged with one or more neighboring cells, a single pattern with multiple constraints is formed. All constraints are combined into a parenthesized list and appended to the text in this cell.
  +
  If this cell is empty, the code snippet in the cell below it must result in a valid conditional element on its own. For example, instead of `Person` as the object type and `age` as the constraint (separate cells), you can enter `Person( age == $1)` in the object type cell and leave the constraint cell below it empty.
  +
  To include a pattern without constraints, you can write the pattern in front of the text of another pattern, with or without an empty pair of parentheses. You can also append a `from` clause to the pattern.
  +
  
negative.code: * *Second cell:* Text in the second cell below `METADATA` is subject to interpolation, using values from the cells in the rule rows. The metadata marker character `@` is prefixed automatically, so you do not need to include that character in the text for this cell.
  * *Third cell:* Text in the third cell below `METADATA` is a descriptive label that you define for the column, as a visual aid.
  * *Fourth cell:* From the fourth row on, non-blank entries provide data for interpolation. A blank cell results in the omission of the metadata annotation for this rule.
  