According to the documentation the root record references in a segment header provide enough context for parsing all records within this segment without any external information.
Turns out this is not true: if a root record reference turns e.g. to a list record. The items in that list are record ids of unknown type. So even though those records might live in the same segment, we can't parse them as we don't know their type.