Expressions! Expressions! (/ ~.)/ I think that the exchange of parameters of alias is necessary from: alias (x*2) exp; to: alias exp=x*2; And I need alias arguments as syntax sugar like: alias(alias i) exp=i*2; same as: template exp(alias i){ alias exp=i*2; } #sorry for my poor English.