Fitting language history into a tree structure requires some simplifying assumptions. In particular, you have to be able to assume that a language has a single parent proto-language (otherwise it’s no longer a tree). You also have to assume a difference between the guts of the language and the minor add-ons of a language. Japanese may have borrowed the word anime from English, but that does not mean Japanese is related to English. Usually, you can differentiate borrowed words from a core vocabulary, and ignore the former when determining language relations. The “guts” of a language also includes how its grammar works.
The tree model was not unanimously accepted when proposed, and there was a rival Wave model of language change, which allows for shades of gray. There are languages which have been massively relexified (much of their core vocabulary is also borrowed), or whose grammar has been profoundly influenced by neighbouring languages in Sprachbunds. Fitting such hybrid languages to the tree model is problematic. The same goes for pidgins and creoles.
There are many languages that you would have trouble fitting to a tree model of affiliation. Yiddish is not such a language. The fact that it uses Hebrew script, is is spoken by Jews, and has a substantial layer of loans from Hebrew and Aramaic do not change the fact that its “guts” are still Germanic.
, Linguistics PhD candidate at Edinburgh. Has lived in USA, Sweden, Italy, UK.