- Adds type safety. - Reduces allocations. - Fixes the drand cache (was storing by value, but retrieving by pointer)