def __init__(self, model_path: _Optional[str] = None):
        """
        If ``model_path`` is passed to the constructor, it must be a :obj:`str` pointing to an
        existing ``mlpackage`` on disk. The :py:class:`MultiFunctionDescriptor` instance will be initiated
        with the functions in ``model_path``.
        """
        self._default_function_name = None
        self._name_to_source_function = {}
        self._modelpath_to_functions = {}
        self._modelpath_to_spec = {}

        if model_path is not None:
            self.add_model(model_path)

        If ``model_path`` is passed to the constructor, it must be a :obj:`str` pointing to an
        existing ``mlpackage`` on disk. The :py:class:`MultiFunctionDescriptor` instance will be initiated
        with the functions in ``model_path``.
        
coremltools/models/utils.py