Syntactic sugar vs. feature
In C# (and Java) a string is little more than a char array with a stored length and a few methods tacked on. Likewise, (reference vs. value stuff aside) objects are little more than glorified structs with inheritance and interfaces added. On one level, these additions feel like clear features and enhancements unto themselves. On another level, they feel like a marginal upgrade from the status of "syntactic sugar." To take this idea further, consider (I may have some details wrong, but the point remains): transistor elementary logic gate compound gate | | ALU flip-flop | | | | register RAM | |