            m_Types[typeIndex].inner = &m_Types[(size_t)typ.ops[0]];
            m_Types[typeIndex].addrSpace = Type::PointerAddrSpace(typ.ops[1]);

            typeIndex++;
          }
          else if(IS_KNOWN(typ.id, TypeRecord::OPAQUE))
          {
            // pretend opaque types are empty structs
            m_Types[typeIndex].type = Type::Struct;

            typeIndex++;
          }
          else if(IS_KNOWN(typ.id, TypeRecord::STRUCT_NAME))
          {