title: Boxing on stack for function calls
body: <p>According to C# documentation boxing is done on heap. What i am wondering about is whether it's a good idea in theory to allocate box on stack in case boxing is done for a function argument. And move that box to heap later only if that box gets referenced from heap. I think it would be a significant optimization for function calls with object-type arguments and the ones with variable number of arguments. Please enlighten me on this matter.</p>