The following two methods cause an exception when decompiling to C#. Looking at the IL it seems that the "dup" instruction isn't handled properly.
internal Expression Rewrite(Expression instance, Expression[] arguments);
Declaring Type: System.Linq.Expressions.IndexExpression
Assembly: System.Core, Version=4.0.0.0
internal InvocationExpression Rewrite(Expression lambda, Expression[] arguments);
Declaring Type: System.Linq.Expressions.InvocationExpression
Assembly: System.Core, Version=4.0.0.0