@
disable immutable
static if(anySatisfy!(hasElaborateCopyConstructor, Types))
static if(!(allSatisfy!(isCopyable, Map!(InoutOf, Types)) && !anySatisfy!(hasPostblit, Map!(InoutOf, Types)) && allSatisfy!(isInout, Map!(InoutOf, Types))))
static if(!(allSatisfy!(isCopyable, Map!(ImmutableOf, Types))))