...but from a how they work, how to use them, how they interact with the language and what they enable you to do point of view, they aren't difficult at all.I guess we'll have to agree to disagree here: I have found it challenging to grasp all of these things (even simply within the context of programming language usage). I guess that is, in the end, rather subjective.