In C++ I see a lot of defining an enum, struct, or other values before #including another header which then uses these values. I understand why this works in C++, but does the same thing work in D? I'd assume not, since the import mechanism is a little more advanced than C++'s "copy this file into this location".