docs: def new_dataset(data, identifier=None):
      """Initialize a new RT-DC dataset
  
      Parameters
      ----------
      data:
          can be one of the following:
  
          - dict
          - .tdms file
          - .rtdc file
          - subclass of `RTDCBase`
            (will create a hierarchy child)
      identifier: str
          A unique identifier for this dataset. If set to `None`
          an identifier is generated.
  
      Returns
      -------
      dataset: subclass of :class:`dclab.rtdc_dataset.RTDCBase`
          A new dataset instance
      """
      if isinstance(data, dict):
          return fmt_dict.RTDC_Dict(data, identifier=identifier)
      elif isinstance(data, (str_types)) or isinstance(data, pathlib.Path):
          return load_file(data, identifier=identifier)
      elif isinstance(data, RTDCBase):
          return fmt_hierarchy.RTDC_Hierarchy(data, identifier=identifier)
      else:
          msg = "data type not supported: {}".format(data.__class__)
          raise NotImplementedError(msg)