Returns a signature object ensuring order of parameter names and types.

        :param parameter_names: A list of ordered parameter names
        :type parameter_names: list[str]
        :param parameter_types: A dictionary of parameter names to types
        :type parameter_types: dict[str, type]
        :param return_type: The type the function returns
        :type return_type: type
        :rtype: MethodSignature

def create(parameter_names, parameter_types, return_type):
        """Returns a signature object ensuring order of parameter names and types.

        :param parameter_names: A list of ordered parameter names
        :type parameter_names: list[str]
        :param parameter_types: A dictionary of parameter names to types
        :type parameter_types: dict[str, type]
        :param return_type: The type the function returns
        :type return_type: type
        :rtype: MethodSignature
        """
        ordered_pairs = [(name, parameter_types[name]) for name in parameter_names]
        return MethodSignature(ordered_pairs, return_type)