code: def __init__(
      self,
      arg: Argument,
      properties: "LazyIrProperties",
      *,
      symint: bool,
  ):
      self.name = arg.name
      self.orig_type = arg.type
      self.symint = symint
      self.is_optional = isinstance(arg.type, OptionalType)
      self.is_generator = isGeneratorType(arg.type)
      self.lazy_type_ = process_ir_type(
          arg.type, properties, symint=symint
      )
      self.is_wrapped_scalar = isWrappedScalarType(arg.type)
      self.is_symint_or_list = symint and (
          isSymIntType(arg.type)
          or (
              isinstance(arg.type, OptionalType)
              and isSymIntType(arg.type.elem)
          )
          # TODO: lists of symints are not currently treated as value types
          # or (isinstance(arg.type, ListType) and isSymIntType(arg.type.elem))
      )
  
      self.is_lazy_value = isValueType(self.lazy_type, properties)
  
imports: from typing import Any, Dict, List, Optional, Tuple, Union
  from torchgen.api.types import BaseCppType, BaseCType, boolT, CType, deviceT, doubleT, generatorT, layoutT, ListCType, longT, memoryFormatT, NamedCType, OptionalCType, scalarT, scalarTypeT, stringT, SymIntT, VectorCType
  from torchgen.model import Argument, BaseTy, BaseType, FunctionSchema, ListType, OperatorName, OptionalType, Return, TensorOptionsArguments, Type
label_desc: Use image node_id 1 to create a new LazyArgument object  with example: obj = LazyArgument(arg, properties)