In AHK v2, probalby there will be more predefined Objects like "List" or "Collection" for this usage. For now, we just have one super general Object, which should provide easy usage.
We have a "HasKey" method, to check if a key is present. Whats about checking values? obj.HasValue/obj.Contains?
names := ["Peter","Max","Rob"] if(names.Contains("Max")) ; or name it similary to HasKey: HasValue { msgbox Mr Max is here. }
On a related note, standardized equality checks for Objects would be nice. (Necessary when the array contains Objects instead of flat values)
If a class/prototype has a Method defined called "Equals(other)" use it to determine instance equality. If it is not defined, fall back to reference equality check.