docs: def read(morph_file, data_wrapper=DataWrapper):
      '''return a 'raw_data' np.array with the full neuron, and the format of the file
      suitable to be wrapped by DataWrapper
      '''
  
      msg = ('This is an experimental reader. '
             'There are no guarantees regarding ability to parse '
             'Neurolucida .asc files or correctness of output.')
  
      warnings.warn(msg)
      L.warning(msg)
  
      with open(morph_file, encoding='utf-8', errors='replace') as morph_fd:
          sections = _parse_sections(morph_fd)
      raw_data = _sections_to_raw_data(sections)
      return data_wrapper(raw_data, 'NL-ASCII')