code: def _fields_as_tuple(field):
      """Common representation of UnischemaField for equality and hash operators.
      Defined outside class because the method won't be accessible otherwise.
  
      Today codec instance also responsible for defining spark dataframe type. This knowledge should move
      to a different class in order to support backends other than Apache Parquet. For now we ignore the codec
      in comparison. From the checks does not seem that it should negatively effect the rest of the code.
      """
      return (
          field.name,
          field.numpy_dtype,
          field.shape,
          field.nullable,
      )
  
imports: import copy
  import re
  import sys
  import warnings
  from collections import namedtuple, OrderedDict
  from decimal import Decimal
  from typing import Dict, Any, Tuple, Optional, NamedTuple
  import numpy
  import pyarrow
  import six
  from pyarrow.lib import ListType
  from pyarrow.lib import StructType
  from six import string_types
label_desc: Use image node_id 1 for calling a global function with example usage: _fields_as_tuple(field) and returns: field,  field,  field,  field