class_docstr: Represents an argument to a @jit'ed function.
  
  An argument is a parameter plus a value.
class_docstr_tok: ["Represents","an","argument","to","a","@","jit'ed","function",".","An","argument","is","a","parameter","plus","a","value","."]
code: def signature_key(self):
      annotation = self.param.annotation
      if "Tensor" in annotation:
          return self.value.dtype
      elif annotation == "bool":
          return "i1"
      elif annotation == "float":
          return "fp32"
      else:
          return JITFunction._key_of(self.value)
  
imports: from __future__ import annotations, division
  import ast
  import hashlib
  import inspect
  import os
  import textwrap
  from collections import defaultdict, namedtuple
  from functools import cached_property
  from typing import Callable, Generic, Iterable, List, Optional, TypeVar, Union, cast, overload
  from ..runtime.driver import driver
label_desc: Use image node_id 3 for calling the KernelArg obj's underlying member method code with example usage: obj.signature_key() and returns: self, str, str, JITFunction