This 100%. It pangs me to see people call themselves .NET programmers or iOS programmers. You're either a general programmer or you're a class act. I know about 20 languages at this point and they all serve me well. You can bet you're going to need to know the hardware as well as assembly translation when you're not designing a stupid social app. Or well, don't learn assembly and continue to be mystified by the lldb debugger assembly dump in XCode, "that's just low level tundra tuft, lemme just close that and add some print statements..".sigh
i'm sure there are many talented .NET programmers who could quickly pick up assembly and become much more productive than you in that language... if they had a good reason to learn it.
That's not how it works. There's a reason unintelligent folk stick to one thing, it's because their aptitude does not stretch well across multiple venues. Programming is like chess, most good chess players play bughouse, losers chess, etc.. .NET is like sticking to 20min chess your whole life. You might get good with t but you have no dynamic range...