performs taxonomic name resolution.
        See https://github.com/OpenTreeOfLife/opentree/wiki/Open-Tree-of-Life-APIs#match_names
        with the exception that "ids" in the API call is referred has the name "id_list" in this function.
        The most commonly used kwargs are:
            - context_name=<name> (see contexts and infer_context methods)
            - do_approximate_matching=False (to speed up the search)
            - include_dubious=True see https://github.com/OpenTreeOfLife/reference-taxonomy/wiki/taxon-flags
            - include_deprecated=True to see deprecated taxa (see previous link to documentation about flags)
            - wrap_response=True to return a TNRSRespose object (rather than the "raw" response of the web-services).

def match_names(self, *valist, **kwargs):
        """performs taxonomic name resolution.
        See https://github.com/OpenTreeOfLife/opentree/wiki/Open-Tree-of-Life-APIs#match_names
        with the exception that "ids" in the API call is referred has the name "id_list" in this function.
        The most commonly used kwargs are:
            - context_name=<name> (see contexts and infer_context methods)
            - do_approximate_matching=False (to speed up the search)
            - include_dubious=True see https://github.com/OpenTreeOfLife/reference-taxonomy/wiki/taxon-flags
            - include_deprecated=True to see deprecated taxa (see previous link to documentation about flags)
            - wrap_response=True to return a TNRSRespose object (rather than the "raw" response of the web-services).
        """
        if len(valist) == 1:
            if not is_str_type(valist[0]):
                return self.taxomachine.TNRS(*valist, **kwargs)
        return self.taxomachine.TNRS(*valist, **kwargs)