code: def type_decisioner(marc_xml, mono_callback, multimono_callback,
                      periodical_callback):
      
      marc_xml = _read_content_or_path(marc_xml)
      record = MARCXMLRecord(marc_xml)
  
      if record.is_monographic or record.is_single_unit:
          return mono_callback()
      elif record.is_multi_mono:
          return multimono_callback()
      elif record.is_continuing:
          return periodical_callback()
  
      raise ValueError("Can't identify type of the `marc_xml`!")
docs: Detect type of the `marc_xml`. Call proper callback.
  
      Args:
          marc_xml (str): Filename or XML string. Don't use ``\\n`` in case of
                          filename.
          mono_callback (fn reference): Callback in case of monographic
                        publications.
          multimono_callback (fn reference): Callback used in case of
                             multi-monographic publications.
          periodical_callback (fn reference): Callback used in case of periodical
                              publications.
  
      Returns:
          obj: Content returned by the callback.
  
      Raises:
          ValueError: In case that type couldn't be detected.