For sufficiently fundamental fundamentals, I'd agree. I'd certainly include pass-by-value vs. -reference vs. -name in that. I strongly dispute the notion that good programmers don't consult library docs. Library surface area is huge, particularly in batteries-included languages. One should know well the areas they use, but there will be plenty outside that, especially if they're moving between many languages.