anchor.diff:        super.trueLiteral().map((input) => LiteralValueNode<bool>(input, true));
   
     Parser variable() => super.variable().map((input) => VariableNode(input));
  -}
  -
  -num buildNumber(String input) {
  -  final values = input.split('r');
  -  return values.length == 1
  -      ? num.parse(values[0])
  -      : values.length == 2
  -          ? int.parse(values[1], radix: int.parse(values[0]))
  -          : throw ArgumentError.value(input, 'number', 'Unable to parse');
   }
   
   String buildString(String input) =>
  
positive.code:     LiteralArrayNode<T>(input[1].cast<LiteralNode<T>>().toList())
        ..surroundWith(input[0], input[2]);
  
  Node buildMessageNodes(ValueNode receiver, dynamic messages) => messages.fold(
      receiver,
      (receiver, parts) => parts == null || parts.isEmpty
  
negative.code:   Parser nilLiteral() =>
        super.nilLiteral().map((input) => LiteralValueNode<void>(input, null));
  
    Parser numberLiteral() => super.numberLiteral().map(buildLiteralNumber);
  
    Parser parens() =>
        super.parens().map((input) => input[1]..surroundWith(input[0], input[2]));
  