Dan:
this(this) { x = x.dup; }
I think this(this) doesn't work well with const.
cast(S[string])m = [ "foo" : S(['a']) ];
I think I have never seen code like that. What's the meaning? :-)(Also if you remove that cast then dmd gives bad error messages with no line numbers:
Error: mutable method temp.S.__postblit is not callable using a const object
Error: cannot modify struct this Slot with immutable members ). Bye, bearophile