In this case, the character type is completely abstracted. This is a pretty simple example, so it is tough to see the power of this. This way, you don't have to care about the specific character set of your source and destination. To you, the programmer, they are just strings. So that will have to be done by hand.
Enough code tricks for one day.
It is very good, if you know how to use it. One feature that I cannot live without is browse information. Browse information is not turned on by default, so you will have to turn it on manually. Next time you compile, you will have all sorts of cool features. Right click on a function name, and you will have the option of going right to where that function is declared.