34    IR::Type_Header *flattenedHeader;
 
   35    std::vector<cstring> nameSegments{};
 
   36    std::vector<const IR::Annotations *> allAnnotations{};
 
   37    bool needsFlattening{
false};
 
   41    void doFlatten(
const IR::Type *type);
 
   43    cstring makeName(std::string_view sep) 
const;
 
   44    const IR::Annotations *mergeAnnotations() 
const;
 
   50    static const IR::Type_Header *
flatten(
P4::TypeMap *typeMap, 
const IR::Type_Header *headerType);