#include "a.h" // ensure that our canonical decl is not from b
struct A;
#include "b.h"
#include "c.h" // ensure that our type for A doesn't reference the definition in b