Кажется, я не могу понять это правильно - помогите?
Потому что это невозможно сделать.
Компилятор не знает размер этой структуры.
Впрочем, для указателей достаточно предварительного объявления:
typedef struct type_B_t {
type_A_t a; // error
type_A_t* a; // OK
};
Конечно, если в вашем реальном коде вы можете изменить порядок, как упоминает ответ @ Blaze, то сделайте это.