Hi Developers! Often we need to use relatively small arrays with constants, static arrays in algorithms, etc where we need to do something with each element of an array. There are several ways to deal with it in ObjectSctipt.  Previously I used to use globals, locals, PPG for this but not so long time ago figured out that %List is a way too handy. Indeed, suppose we have an array of months and need to set up and use it in our code. Globals way: Setup ClassMethod MonthGlobalSetup(ad) { for i="January","February","March","April","May","June","July","August","September","October","November","December" { s @ad@($I(@ad))=i } } Usage: ClassMethod MonthGlobalUsage() { set ad=$na(^Month) k @ad d ..MonthGlobalSetup(ad) // get the particular value by index W "Month N5 is ",@ad@(5) // work with all entries of the global level set monthId=$Order(@ad@("")) while monthId'="" { w monthId," month is ",@ad@(monthId),! set monthId=$Order(@ad@(monthId)) } } List way.  Setup: ClassMethod GetMonthList() As %List { Return $Listfromstring("January,February,March,April,May,June,July,August,September,October,November,December") } Usage: ClassMethod MonthListUsage() { set monthList=..GetMonthList() // get the particular value by index w "Month N5 is ",$Listget(monthlist,5) // work with all entries of the list set iter=0,id=0 while $Listnext(monthList,iter,month) { w $seq(id)," month is ",month,! } } Lists usage looks more readable and doesn't set into any Persistent global in Namespace which is needed to be documented.  And 'While' iteration through all the values is much clearer with lists. My preference now for static arrays is List. What's yours?