code: function default_value() {
    start_pos = input.pointer();
    value = parse_balanced(/\[/, /\]/, /[^\[\]]*/);
    if (look(/\]/)) {
      return value;
    }
    else {
      input.setPointer(start_pos);
      return match(/[^\]]*/);
    }
  }
docs: Attempts to allow balanced braces in default value. When the nested parsing doesn't finish at closing "]", roll back to beginning and simply grab anything up to closing "]".