Crea un Func <> con Roslyn

Inspirado poresta yesta artículo, estoy tratando de crear una función dinámica con Roslyn.

Sin embargo, las fuentes mencionadas están desactualizadas o no están completas y no puedo crear una muestra funcional. Mi trabajo hasta ahora:

var code = @"Func<int, int> doStuffToInt = i =>
{
   var result = i;
   for (var y = i; y <= i * 2; y++)
   {
      result += y;
   }
   return result;
};";


var se = new ScriptEngine();
var session = se.CreateSession();
session.AddReference(typeof(Program).Assembly);
session.AddReference(typeof(Expression).Assembly);

session.ImportNamespace("System");
session.ImportNamespace("System.Linq");
session.ImportNamespace("System.Linq.Expressions");

var submission = session.CompileSubmission<Func<int, int>>(code);

Func<int, int> myFunc =  submission.Execute();

sin embargomyFunc siempre es nulo y no puedo identificar dónde está el problema. ¿Alguien puede ayudarme a ejecutar esta muestra?

Respuestas a la pregunta(1)

Su respuesta a la pregunta