On the other hand, if there is some requirement that I do not know
about, which requires the assumed-rank array to have a descriptor with
rank = GFC_MAX_DIMENSIONS but the higher lbounds/ubounds set to zero,
then the scalarizer could be made to cope with that; albeit with a
load of extraneous loops (which would be optimized away?).
Furthermore, with the help of your RANK intrinsic, Alessandro could implement FINAL, apart from elemental support. This latter could be kludged up by allowing a rank one pointer to point to the assumed-rank array or by passing the array and the elemental
procedure address to a library function.