code: def test_is_compatible_narrowing(self):
      value = "foo"
      typing_extensions.assert_type(value, str)
      if typing_utils.is_compatible(value, int):
          typing_extensions.assert_type(value, int)
      elif typing_utils.is_compatible(value, List[tfx.types.Artifact]):
          typing_extensions.assert_type(value, List[tfx.types.Artifact])
  
imports: import sys
  import typing
  from typing import Any, List, Literal, TypedDict
  import unittest
  import tensorflow
  import tfx.types
  from tfx.types import standard_artifacts
  from tfx.utils import typing_utils
  import typing_extensions
  import ml_metadata
label_desc: Use image node_id 12 for calling the TypingUtilsTest obj's underlying member method code with example usage: obj.test_is_compatible_narrowing() without return types