code: def test_varkwargs(self):
      def foo(**kwargs):
          del kwargs
  
      polymorphic_type = function_type.FunctionType.from_callable(foo)
  
      args = ()
      kwargs = {"x": 1, "y": 2, "z": 3}
      mono_type, _ = function_type.canonicalize_to_monomorphic(
          args, kwargs, {}, {}, polymorphic_type
      )
  
      bound_args = mono_type.bind(*args, **kwargs)
      self.assertEqual(bound_args.args, ())
      self.assertEqual(bound_args.kwargs, {"x": 1, "y": 2, "z": 3})
  
      type_context = trace_type.InternalTracingContext()
      expected_type = function_type.FunctionType(
          [
              function_type.Parameter(
                  "x",
                  function_type.Parameter.KEYWORD_ONLY,
                  False,
                  trace_type.from_value(1, type_context),
              ),
              function_type.Parameter(
                  "y",
                  function_type.Parameter.KEYWORD_ONLY,
                  False,
                  trace_type.from_value(2, type_context),
              ),
              function_type.Parameter(
                  "z",
                  function_type.Parameter.KEYWORD_ONLY,
                  False,
                  trace_type.from_value(3, type_context),
              ),
          ]
      )
  
      self.assertEqual(mono_type, expected_type)
  
imports: import collections
  import pickle
  import platform
  from absl.testing import parameterized
  from tensorflow.core.function import trace_type
  from tensorflow.core.function.polymorphism import function_type
  from tensorflow.core.function.polymorphism import function_type_pb2
  from tensorflow.core.function.trace_type import serialization
  from tensorflow.python.framework import func_graph
  from tensorflow.python.platform import test
  from tensorflow.python.types import trace
label_desc: Use image node_id 6 for calling the CanonicalizationTest obj's underlying member method code with example usage: obj.test_varkwargs() without return types