q Strings come in all shapes, sizes and programmers' preferences. They are value types that hold sequences of characters for appropriate definitions of value, character and sequence.
q Value object types are different from many other object types because they focus on fine-grained information rather than application entities. Therefore they are copyable, normally live on the heap or in other objects, and are not generally accessed by pointers.
q The core language offers C-style, null-terminated strings. The standard library offers a single string type. Unfortunately, it is by no means the best encapsulation. However, it is should still be used in preference to proprietary or lower-level solutions.