Hiya, TVr's can be large and are duplicated many times over. We avoid duplicating Info and type information by clearing all variables and restoring them from their binding point. Atoms are very similar to Infos in this regard: they're large enough that we don't want to keep multiple copies around. However, atoms are currently dealt with in an unsafe (see 'getMap') and inefficient manner (10mb (40%) in base-1.0.hl is wasted on duplicate strings). It is my understanding that atoms could be stored exactly like Infos. I tried to implement this but, unfortunately, atoms are frequently being relied on for unique ids. Some cases are easy to fix, others less so. John, do you have time to document the intended behavior in the difficult cases? -- Cheers, Lemmih