anchor.diff:    Parser binaryMessage() => ref(binaryToken).seq(ref(unaryExpression));
     Parser binaryMethod() => ref(binaryToken).seq(ref(variable));
     Parser binaryPragma() => ref(binaryToken).seq(ref(arrayItem));
  -  Parser binaryToken() => ref(token, ref(binary));
  +  Parser binaryToken() => ref(token, ref(binary), 'binary selector');
     Parser block() => ref(token, '[').seq(ref(blockBody)).seq(ref(token, ']'));
     Parser blockArgument() => ref(token, ':').seq(ref(variable));
     Parser blockArguments() =>
  
positive.code:   Parser cascadeMessage() => ref(token, ';').seq(ref(message));
    Parser character() => char('\$').seq(any());
    Parser characterLiteral() => ref(characterToken);
    Parser characterToken() => ref(token, ref(character));
    Parser expression() => ref(assignment).star().seq(ref(cascadeExpression));
    Parser falseLiteral() => ref(falseToken);
    Parser falseToken() => ref(token, 'false').seq(word().not());
    Parser identifier() => pattern('a-zA-Z_').seq(word().star());
    Parser identifierToken() => ref(token, ref(identifier));
    Parser keyword() => ref(identifier).seq(char(':'));
    Parser keywordExpression() =>
        ref(binaryExpression).seq(ref(keywordMessage).optional());
  
negative.code:   Parser nilLiteral() => ref(nilToken);
    Parser nilToken() => ref(token, 'nil').seq(word().not());
    Parser numberLiteral() => ref(numberToken);
    Parser numberToken() => ref(token, ref(number), 'number');
    Parser parens() => ref(token, '(').seq(ref(expression)).seq(ref(token, ')'));
    Parser period() => char('.');
    Parser periodToken() => ref(token, ref(period), 'period');
    Parser pragma() =>
        ref(token, '<').seq(ref(pragmaMessage)).seq(ref(token, '>'));
    Parser pragmaMessage() =>
  