As there obviously not is access to an implementation independent view of array descriptors, not even concerning ElementCount / High and ElementSize, I might either design a class providing this in it's own way, or write procedures directly getting passed the needed information via dedicated parameters.
(ok, ok.. i cheated by providing that info )
2) I did not yet know the unit 'typinfo'. (Do you know the reason for not naming it 'typeinfo'?)
1) Thank you, @molly.
3) It's not quite the style I would prefer as it seems to be against the grain somehow. (Implementing features the language doesn't want to support basically.)
3.a) Functionally I would see a language/compiler modification. However, I do not understand how registering packages works.
3.b) The 'TypeInfo' function returns a pointer that must be dereferenced explicitly.
3.c) I feel slightly reminded of the implemenattion of mouse-awareness by Turbo Pascal in old times.
3.d) What is returned by TypeInfo(ti^).Kind? (Or TypeInfo(ti^)^.Kind?)
4) Ok. There's a dilemma. If I expect meta information to be availabel about variables, I will also expect to be able to save it to files. (And to pass it to different applications?)
5) It's a mess. The world is too complicated. At least this fact is simple.
Suppose it's fun. A lesson in English -or whatever- available?
As there obviously not is access to an implementation independent view of array descriptors,
The first isn't true, see code below.