A data structure organizes a collection of values such that individual values discernible and addressable. Different data structures have different applications and performance characteristics. In Tcl some data structures such as lists and dictionaries are exposed as values, others such as arrays exposed as collections of variables, and others such as SQLIte or Metakit are exposed as procedures. Since every value is a string, the line between data structures and structured data is blurred.