Attached patch fixes 4 unused local variable warnings, and possibly a bug in ExpressionTreeVisitor. For BinaryExpression node, return value of visiting node.Conversion was not passed. Isn't that a bug? All warnings were found by Mono C# compiler.