code: def FunctionWithFields(
      function,
      params=None,
      body=None,
      ret_type=None,
      ty_params=None,
      attrs=None,
      virtual_device=None,
      span=None,
  ):
      """
      Returns function with the given properties. A None property denotes 'no change'.
      Returns function if all properties are unchanged. Otherwise, returns a copy with the new
      fields.
      """
      return _ffi_api.FunctionWithFields(
          function,
          params,
          body,
          ret_type,
          ty_params,
          attrs,
          virtual_device,
          span,
      )
  
file_path: tvm/python/tvm/relay/function.py
imports: from __future__ import absolute_import
  import tvm._ffi
  from tvm.ir import BaseFunc
  from tvm.runtime import convert
  from .None import _ffi_api
  from .base import astext, pretty_print
  from .expr import Call
label_desc: Use image node_id 1 for calling a global function with example usage: FunctionWithFields(function, params, body, ret_type, ty_params, attrs, virtual_device, span) and returns: _ffi_api