Thanks for the article Rick. Whenever I create a module that processes a list, I am finding that I end up using a construct like type(Lst$i)='N' a lot. I am worried that I am needlessly making a temporary copy of a matrix, or indeed a copy of an entire sub-list, just to discover its data type. Is there be a special function that does this efficiently, something like LISTGETTYPESUBITEM()?