The existing NamedArray and its derived types LoopyCallResult and NamedCallResult currently have some inconsistencies in their implementations, including:
- The
expr property only applies to NamedArray and its associated container DictOfNamedArrays, not the other two types, as LoopyCall and Call don't contain corresponding arrays to point to.
NamedArray and LoopyCallResult are allowed to be tagged, but NamedCallResult isn't.
This could stand to be looked at. One idea would be to try to remove LoopyCallResult and NamedCallResult and shift any special mapper logic associated with them into map_loopy_call and map_call. Then potentially NamedArray could be left as a dumb generic reference type with no tagging, etc. It's not completely clear to me whether this could work, but it seems worth exploring at some point.
The existing
NamedArrayand its derived typesLoopyCallResultandNamedCallResultcurrently have some inconsistencies in their implementations, including:exprproperty only applies toNamedArrayand its associated containerDictOfNamedArrays, not the other two types, asLoopyCallandCalldon't contain corresponding arrays to point to.NamedArrayandLoopyCallResultare allowed to be tagged, butNamedCallResultisn't.This could stand to be looked at. One idea would be to try to remove
LoopyCallResultandNamedCallResultand shift any special mapper logic associated with them intomap_loopy_callandmap_call. Then potentiallyNamedArraycould be left as a dumb generic reference type with no tagging, etc. It's not completely clear to me whether this could work, but it seems worth exploring at some point.