Make Set|Bag|Mix.total caching, as suggested by grondilu++