The syntax of YAML is similar to other high-level languages and allows for simple expression of data forms such as lists, hash tables, scalars, and more. Its use of whitespace indentation and heavy dependency on appearance make it particularly suitable for expressing or editing data structures, various configuration files, dumping debugging content, and document outlines (e.g., many email headers are formatted in a way that is very close to YAML). Although it is better suited for expressing hierarchical model data structures, there is a sophisticated syntax for representing relational model data. Because YAML uses whitespace and line breaks to separate data, it is particularly well suited for manipulation with grep/Python/Perl/Ruby. Its most accessible feature is the clever avoidance of closure symbols such as quotation marks and various parentheses, which can become complex and illegible when nested structures are used.