side note:
This line V.MyPrivateValueToHandle += 1; //Error!.
makes an assumption that T is an ordinal which we can not yet write as a restriction. Like procedure test<T:ordinal>(); // makes the code safer because T can now only specialize as ordinal.
This kind of type restriction seems on the todo list and has been discussed.
So technically speaking it is currently a bug in your example, the assumption, that is.
I know it is only to demo, but just in case.