static immutable
static if(!(is(T == struct) && !isTypedef!(T)))
static if(!(is(T == union)))
static if(!(is(T Base : Base[])))
static if(!(is(T Base == Base*)))
static if(!(is(T Func == delegate) && is(Func Args == function) && is(Func R == return)))
static if(!(is(typeof(T.init.values[0]) V) && is(typeof(T.init.keys[0]) K) && is(V[K] == T)))