I probably still explain my thought clearly, sorry, maybe this just an unreasonable demand?
I really want to do is, when i am porting a big ruby gem, replace all ary = [], h = {} with ary = [] of SomeType, h = {} of SomeType => SomeType use a tools, after then, when i run replaced ruby code use crystal, no syntax anymore, instead of, only compiler error left, which can lead me to find the correct type of the ary and h.
So, here, when i am replaceing code, the SomeType is important, It must be a valid builtin Crystal Type, but, rarely used by the user directly, which give a sign like this when build the code, like this:
Oops, then i will know, i should replace
arry = [] of SomeType
into
arry = [] of Procodile::Instance.
If i am not add this Intermediate step instead, only give me syntax like: Error: for empty arrays use '[] of ElementType', without any additional help for figure out what arry type is.