private static Expression ConvertIfNeeded(Expression expression, Type type) { if (expression.Type != type) { return(Ast.DynamicConvert(expression, type)); } return(expression); }