The simple example of writing a 16 bit value into two 8 bit registers would look cleaner if concatenations could be assigned to.
The current implementation looks like this
X[1] = (unsigned<8>)(val>>8);
X[2] = (unsigned<8>)val;
A more expressiv way would be:
X[1] :: X[2] = val;