code: def ishomogeneous(ds):
      """Does datashape contain only one dtype?
  
      >>> from datashader.datashape import int32
      >>> ishomogeneous(int32)
      True
      >>> ishomogeneous('var * 3 * string')
      True
      >>> ishomogeneous('var * {name: string, amount: int}')
      False
      """
      ds = dshape(ds)
      return len(set(remove(isdimension, collect(isscalar, ds)))) == 1
  
file_path: datashader/datashader/datashape/predicates.py
imports: import numpy
  from .util import collect, dshape
  from .internal_utils import remove
  from .coretypes import DataShape, Fixed, Var, Ellipsis, Record, Unit, date_, datetime_, TypeVar, to_numpy_dtype, Categorical
  from .typesets import floating, boolean
label_desc: Use image node_id 4 for calling a global function with example usage: ishomogeneous(ds) and returns: unknown