A concrete example
We will define a class String whose objects represent variable-length strings of characters
We would like String objects to behave much like values
In particular, we would like to be able to pass Strings as arguments, return them as results, etc.