Here, you (currently) need:
```D
!hasElaborateDestructor!T;
!hasElaborateCopyConstructor!T;
 isAssignable!T; //Instead of `isMutable!T`
!hasElaborateAssign!T;
```
That said, rather than being a template restriction, I feel it should be a static assert, followed by a `"Sorry, this type is currently too complex for ScopeBuffer"`.

I feel this is better, because there is technically no reason to *not* support them. In particular, a lot of these can be supported, with *0* extra overhead for trivial types, so its not like you can really object to it ;)

I'm perfectly fine not supporting these *yet*, as a first iteration.