Hello, thank you for this great tool!
I started to use it and found following issue:
var from = typeof(string);
var to = typeof(int);
var p = Expression.Parameter(from, "p");
var body = Expression.Condition(
Expression.NotEqual(p, Expression.Constant(null, from)),
Expression.Convert(p, to, to.GetMethod(nameof(int.Parse), new[] { from })),
Expression.Constant(0));
var expr = Expression.Lambda<Func<string, int>>(body, p);
produces following C# code:
p => (p != null) ? (int)p : 0
when it should be
p => (p != null) ? int.Parse(p) : 0