It’s not useful if you want to figure out how much RAM you’re going to use. But it is useful for a specific purpose: figuring out whether it’s okay for your hot paths to use that type directly in function arguments or return values, or whether you should use some sort of pointer instead. That includes Box, but also simple things like having arguments of type &Foo instead of Foo, or having an ‘out pointer’ argument of type &mut Foo instead of returning Foo. Or perhaps fancier tricks using unsafe code… (and maybe someday we’ll have something like &move pointers built into the language…)