class_docstr: A base class of unified devices.
  
  Chainer has the following concrete implementations:
  
  - :class:`chainer.backend.CpuDevice`
  - :class:`chainer.backend.GpuDevice`
  - :class:`chainer.backend.Intel64Device`
  - :class:`chainer.backend.ChainerxDevice`
class_docstr_tok: ["A","base","class","of","unified","devices",".","Chainer","has","the","following","concrete","implementations",":","-",":","class",":","`","chainer.backend.CpuDevice","`","-",":","class",":","`","chainer.backend.GpuDevice","`","-",":","class",":","`","chainer.backend.Intel64Device","`","-",":","class",":","`","chainer.backend.ChainerxDevice","`"]
docstr: Array types supported by the device.
  
  Returns:
      tuple of array types which the device's module functions can
      handle.
docstr_tok: ["Array","types","supported","by","the","device",".","Returns",":","tuple","of","array","types","which","the","device","'s","module","functions","can","handle","."]
code: def supported_array_types(self):
      """Array types supported by the device.
  
      Returns:
          tuple of array types which the device's module functions can
          handle.
      """
      raise NotImplementedError(
          "Device implementation must override this property."
      )
  
label_desc: Use image node_id 3 for calling the Device obj's underlying member method code with example usage: obj.supported_array_types() without return types