A list defines a group very much like cat but it also gives a scope for
props (see below). and unlike cats, lists should not be merged without
understanding their contents.
Structurally, a list is a chunk with ckid "list" containing a "contents
type" ID, optional shared properties, and the nested contents (forms,
LISTs, and cat s), in that order. the cksize of each contained chunk is a
relative pointer to the next one. A LIST is not an arbitrary linked
list - the cells are simply concatenated.
LIST ::= "LIST" #{ ContentsType PROP* (FORM | LIST | CAT)* }
ContentsType ::= ID