initialization of local variable



Hi,

I have found ( maybe it is well known but I have not found it in doc)
 
that local variable can be initialized :

1. inside list :

 f1(x):=block([var1: 1, var2: var1+x], var2);

2.  after declaration (it is probably the best form ):

    f2(x):=block([var1, var2],
        var1: 1,
        var2: var1+x,
        var2);



 but local variable can not be usued inside declaration to init other 
local variables:

f3(x):=block([var1: 1, var2: var1+x], var2);

f3(1) gives var1+1


Is it well known ?

Adam