Holds if this type is constant and only contains constant types, excluding
the type itself. It is implied by Type.isDeeplyConst() and is just used to
implement that predicate.
const char *const is deeply constant and deeply constant below,
const char * is only deeply constant below (the pointer can be changed,
but not the underlying char).
char *const is neither (it is just
predicate isDeeplyConstBelow ( )