Strings as values
What we would like is an abstraction that lets us use strings as if they were values:
- Copying a string should copy the characters that constitute it
- Freeing a string should free its characters
To define such an abstraction, we need to be able to define copying