def set_output_types(self, outputs: Optional[List["_input_types.InputType"]] = None) -> None:
        """
        Set the user defined output type for a function.
        Note: the common::update_output_dtypes graph pass takes this information,
        and changes the function output signature accordingly.
        """
        if outputs is not None:
            if not (
                isinstance(outputs, list)
                and all(isinstance(out, _input_types.InputType) for out in outputs)
            ):
                raise TypeError(
                    "main outputs should be a list of type ct.TensorType or ct.ImageType"
                )
        self.output_types = outputs

        Set the user defined output type for a function.
        Note: the common::update_output_dtypes graph pass takes this information,
        and changes the function output signature accordingly.
        
coremltools/converters/mil/mil/block.py