private static IEnumerable<object[]> BinaryExpressionTypes()
{
yield return new object[] {ExpressionType.Add};
yield return new object[] {ExpressionType.And};
yield return new object[] {ExpressionType.Divide};
yield return new object[] {ExpressionType.Equal};
yield return new object[] {ExpressionType.ExclusiveOr};
yield return new object[] {ExpressionType.GreaterThan};
yield return new object[] {ExpressionType.GreaterThanOrEqual};
yield return new object[] {ExpressionType.LeftShift};
yield return new object[] {ExpressionType.LessThan};
yield return new object[] {ExpressionType.LessThanOrEqual};
yield return new object[] {ExpressionType.Modulo};
yield return new object[] {ExpressionType.Multiply};
yield return new object[] {ExpressionType.NotEqual};
yield return new object[] {ExpressionType.Or};
yield return new object[] {ExpressionType.Power};
yield return new object[] {ExpressionType.RightShift};
yield return new object[] {ExpressionType.Subtract};
yield return new object[] {ExpressionType.Extension};
yield return new object[] {ExpressionType.AddAssign};
yield return new object[] {ExpressionType.AndAssign};
yield return new object[] {ExpressionType.DivideAssign};
yield return new object[] {ExpressionType.ExclusiveOrAssign};
yield return new object[] {ExpressionType.LeftShiftAssign};
yield return new object[] {ExpressionType.ModuloAssign};
yield return new object[] {ExpressionType.MultiplyAssign};
yield return new object[] {ExpressionType.OrAssign};
yield return new object[] {ExpressionType.PowerAssign};
yield return new object[] {ExpressionType.RightShiftAssign};
yield return new object[] {ExpressionType.SubtractAssign};
}