I've been working a lot with C++, but having clients and a lot of projects with tight deadlines often make you choose the functional at the expense of technical subtilties, including refactoring whereas it seems indispensable to mastering better designs.
So I try to explore the deep waters of this language during my free time in order to get into the nuts and bolts and understand its most useful tips. I believe this is essential.
But most importantly, I believe in Murphy's law.
EDIT: turning now to C#.NET for a personal project