docs: def cross_validate(data=None, folds=5, repeat=1, metrics=None,
                     reporters=None, model_def=None, **kwargs):
      """Shortcut to cross-validate a single configuration.
  
      ModelDefinition variables are passed in as keyword args, along
      with the cross-validation parameters.
      """
      md_kwargs = {}
      if model_def is None:
          for arg in ModelDefinition.params:
              if arg in kwargs:
                  md_kwargs[arg] = kwargs.pop(arg)
          model_def = ModelDefinition(**md_kwargs)
      if metrics is None:
          metrics = []
      if reporters is None:
          reporters = []
      metrics = [MetricReporter(metric) for metric in metrics]
      results = modeling.cross_validate(model_def, data, folds, repeat=repeat, **kwargs)
      for r in reporters + metrics:
          r.process_results(results)
      return CVResult(results, reporters, metrics)