immutable
static if(!(!allSatisfy!(isCopyable, AllowedTypes)))
static if(anySatisfy!(hasElaborateCopyConstructor, AllowedTypes))
static if(!(allSatisfy!(hasInoutConstruction, AllowedTypes)))
static if(allSatisfy!(hasSemiImmutableConstruction, AllowedTypes))