private void ProcessValueTypeInstantiation(IType type, MethodInvocationExpression node)
{
var target = CodeBuilder.CreateReference(DeclareTempLocal(type));
Expression initializer = CodeBuilder.CreateDefaultInitializer(node.LexicalInfo, target, type);
MethodInvocationExpression eval = CodeBuilder.CreateEvalInvocation(node.LexicalInfo);
BindExpressionType(eval, type);
eval.Arguments.Add(initializer);
AddResolvedNamedArgumentsToEval(eval, node.NamedArguments, target.CloneNode());
eval.Arguments.Add(target.CloneNode());
node.ParentNode.Replace(node, eval);
}