OK, clear
But here are the question I ask myself:
1. Which choice gives us the wider variety of coding-possibilities ?
Therefore Static initialized by Procedures/Vars would be the choice.
Because then we could call Procedures and use vars for initialization.
2. Consistence: How would Initializations of "Global a.l = ..." and "Protected a.l = ..." be handled ?
They would be called when appearing in code, so in program's execution order. Static should do also, so when it's 'line' appears during first call of the procedure.
3. What is more easy to implement ?
I think all of these ways are relative easy to implement, because it seems to be just like a 'syntax-wrapping' to me. (wrap a functionality of more complex syntax with a more easy one.)
4. Downgrade-compatibility ?
All of these versions are downgrade-compatible, because the syntax: "Global/Static/... myVarname.type = ..." is not valid atm.