Might as well also make these:
```D
+        enum hasElaborateAssign = is(typeof(lvalueOf!S.opAssign(rvalueOf!S))) ||
+                                  is(typeof(lvalueOf!S.opAssign(lvalueOf!S))) || 
```
No?