Currently, ARec is quite lazy (sometimes too lazy), while Rec is quite strict (sometimes too strict for my taste, but that's a design decision). At the very least, alens, arecGetSubset, and so on should perform their lookups eagerly (using Array internals, or perhaps switching away from Data.Array in favor of something easier to control). At most, all the modification functions should insert things in WHNF.
Currently,
ARecis quite lazy (sometimes too lazy), whileRecis quite strict (sometimes too strict for my taste, but that's a design decision). At the very least,alens,arecGetSubset, and so on should perform their lookups eagerly (usingArrayinternals, or perhaps switching away fromData.Arrayin favor of something easier to control). At most, all the modification functions should insert things in WHNF.