memoize atoms used in bodies, don't call every eval