code: def deserialize_dtype(d):
      
      if isinstance(d['descr'], six.string_types):
          return np.dtype(d['descr'])
      descr = []
      for col in d['descr']:
          col_descr = []
          for c in col:
              if isinstance(c, six.string_types):
                  col_descr.append(str(c))
              elif type(c) is list:
                  col_descr.append(tuple(c))
              else:
                  col_descr.append(c)
          descr.append(tuple(col_descr))
      return np.dtype(descr)
docs: Deserializes a JSONified :obj:`numpy.dtype`.
  
      Args:
          d (:obj:`dict`): A dictionary representation of a :obj:`dtype` object.
  
      Returns:
          A :obj:`dtype` object.