code: def test_instrumented_function_kwarg_order() -> None:
      ifunc = base.ExperimentFunction(
          _arg_return,
          ng.p.Instrumentation(
              kw4=ng.p.Choice([1, 0]),
              kw2="constant",
              kw3=ng.p.Array(shape=(2, 2)),
              kw1=ng.p.Scalar(2.0).set_mutation(sigma=2.0),
          ).set_name("test"),
      )
      np.testing.assert_equal(ifunc.dimension, 7)
      data = np.array([-1, 1, 2, 3, 4, 100, -100])
      args0, kwargs0 = (
          ifunc.parametrization.spawn_child()
          .set_standardized_data(data)
          .value
      )
      # this is very stupid and should be removed when Parameter is in use
      kwargs: tp.Any = ifunc(*args0, **kwargs0)[1]  # type: ignore
      testing.printed_assert_equal(
          kwargs,
          {
              "kw1": 0,
              "kw2": "constant",
              "kw3": [[1, 2], [3, 4]],
              "kw4": 1,
          },
      )
  
imports: import pickle
  import numpy
  import pytest
  import nevergrad
  from nevergrad.common import testing
  from nevergrad.functions import ArtificialFunction
  import nevergrad.common.typing
  from .None import base
  from .None import helpers
label_desc: Use image node_id 4 for calling a global function with example usage: test_instrumented_function_kwarg_order() without return types