code: def _check_array_parms(is_array, array_size, value, element_kind,
                         element_name):
      # pylint: disable=unused-argument
      # The array_size argument is unused.
      
  
      # The following case has been disabled because it cannot happen given
      # how this check function is used:
      # if array_size and is_array is False:
      #     raise ValueError(
      #         _format("The array_size parameter of {0} {1!A} is {2!A} but the "
      #                 "is_array parameter is False.",
      #                 element_kind, element_name, array_size))
  
      if value is not None:
          value_is_array = isinstance(value, (list, tuple))
          if not is_array and value_is_array:
              raise ValueError(
                  _format("The is_array parameter of {0} {1!A} is False but "
                          "value {2!A} is an array.",
                          element_kind, element_name, value))
          if is_array and not value_is_array:
              raise ValueError(
                  _format("The is_array parameter of {0} {1!A} is True but "
                          "value {2!A} is not an array.",
                          element_kind, element_name, value))
docs: Check whether array-related parameters are ok.