I started using C# a couple of years ago, and my favourite part of the language and integration by far is LINQ. The ability to write natural code which can be fired as a database query or series of optimised collection manipulations is impressive, but mainly just nice to work with.
The problem is that using a nice syntax such as the ES6 arrow functions, (s => s.active), would require us to craft an object to pass as the first parameter during execution. Naturally, determining this before the function is run is very difficult to achieve dynamically. Instead, I opted to use Esprima to derive the results statically. As such, while the evaluation is conducted from a function, such function is never actually called.