code: def is_categorical(dtype):
      """
      Do we represent this dtype with LabelArrays rather than ndarrays?
      """
      return dtype in OBJECT_DTYPES or dtype.kind in STRING_KINDS
  
imports: from textwrap import dedent
  from functools import partial
  from numpy import bool_, dtype, float32, float64, int32, int64, int16, uint16, ndarray, uint32, uint8
  from six import iteritems
  from toolz import merge_with
  from zipline.errors import WindowLengthNotPositive, WindowLengthTooLong
  from zipline.lib.labelarray import LabelArray
  from zipline.utils.numpy_utils import datetime64ns_dtype, float64_dtype, int64_dtype, uint8_dtype
  from zipline.utils.memoize import lazyval
  from ._float64window import AdjustedArrayWindow
  from ._int64window import AdjustedArrayWindow
  from ._labelwindow import AdjustedArrayWindow
  from ._uint8window import AdjustedArrayWindow
label_desc: Use image node_id 2 for calling a global function with example usage: is_categorical(dtype) and returns: unknown