Includes Headers should include everything that they need, they should not rely on their users' inclusions. Includes should be in order from most local to most global to enforce this.