Basically it's a way to extend functionality of variable types. Speaking from a dotnet point of view. I could write a static method that does a "WordCount" for example, and then based on the way I wrote that method, I could actually use it in the string variable like so:
string myString;
int...