
What I don't understand is why Monoid and Monad are objectionable, while Hash, Vector, Boolean, and Integer are (presumably) not objectionable. They all appear equally technical to me.
It's simply that other languages' libraries already have those terms in them. So there is nothing new to learn.
1. Imagine learning English. Easy, everyone here has been there, done that. 2. Imagine learning English as a second language. Slightly different: a. you can use an English-native language dictionary. won't get you all the way, but is fairly essential for beginners. b. you can use an English-English dictionary. once you know enough of the language to "bootstrap", this is preferred over (a), as it helps to get familiar with the language, and to improve your autonomy every time you need to look something up (instead of clinging to the crutches of translation). c. you can use an English-GOB (General Ontology Base) dictionary. languages are just syntax. understand the principles behind them! can be really useful, but probably not when you're still learning your second language, knowing neither English nor GOB. once you've seen at least two examples of everything, and know enough to read about generalizations, the situation changes. Does this help?-) Claus