For a while I am thinking of a better way to post estimation results of my user written commands. Most of my commands are written in Mata and I find the ereturn capabilities sometimes limiting. In particular when it comes to returning large matrices, string matrices, transformed data (for example different residuals, outcomes of MCMCs) or set of results. In addition if I want to use ereturn(), it requires some additional coding.

My solution so far is to use Mata's array functions. For example for my program called "myprog" it returns a mata array "myprog" which then has a key called "N" for the number of observations, "T" for time periods, "res" for residuals etc. I find this solution quite handy because I can write mata subprograms which can alter the contents of the array or add keys. Also I can write predict or estat programs which use the array.

My question is: does anyone have experience using arrays or maybe even a better solution?