<p>I completely understand the concept of expression trees, but I am having a hard time trying to find situations in which they are useful. Is there a specific instance in which expression trees can be applied? Or is it only useful as a transport mechanism for code? I feel like I am missing something here. Thanks!</p>

Some unit test mocking frameworks make use of expression trees in order to set up strongly typed expectations/verifications. Ie:
```
```
myMock.Verify(m => m.SomeMethod(someObject)); // tells moq to verify that the method
                                              // SomeMethod was called with 
                                              // someObject as the argument
```
```
Here, the expression is never actually executed, but the expression itself holds the interesting information. The alternative without expression trees would be
```
```
myMock.Verify("SomeMethod", someObject) // we've lost the strong typing
```
```