Allocates variable of given type.
must not be abstract
Allocates variable of given type and initializes it applying given block.