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