> For instance, this code compiles and runs just fine.
>
> void main()
> {
> auto i = new immutable int(5);
> assert(*i == 5);
> auto j = cast(int*)i;
> *j = 42;
> assert(*i == 42);
> }
AFAIK this is UB already (in practice), you will get different
results depending on compiler and optimization flags.