What are you going to put in that variable?
void f();
void v = f();
void g(a){return a;}
v = g(v);
Maybe my imagination is failing me, but I can't see how this can do much good without at least polymorphic functions.