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)))
Constructs a SumType that's a copy of another SumType.