anchor.diff:     * parsed `operator` and `value`.
      */
     void prefix(Parser operator, [void action(operator, value)]) {
  -    _prefix.add(new _PrefixOperator(operator, action));
  +    _operators.putIfAbsent(_PREFIX, () => new List())
  +        .add(new _ExpressionOperator(operator, action, (operators, next) {
  +          return new _SequenceParser([operators, next]).map((results) {
  +            return results.first.action(results.first.value, results.last);
  +          });
  +        }));
     }
   
     /**
  
positive.code:   /**
     * Defined operators in the group.
     */
    final List<_ExpressionOperator> _primitive = new List();
    final List<_ExpressionOperator> _prefix = new List();
    final List<_ExpressionOperator> _postfix = new List();
    final List<_ExpressionOperator> _right = new List();
    final List<_ExpressionOperator> _left = new List();
  
    ExpressionGroup(this.builder);
  
  
negative.code: 
  class ExpressionGroup {
  
    static final int _PRIMITIVE = 0;
    static final int _PREFIX = 1;
    static final int _POSTFIX = 2;
    static final int _RIGHT = 3;
    static final int _LEFT = 4;
  
    /**
     * Returns the builder that this group is part of.
     */
  