Going back to use Expression<Func<T>>
And back to Func<T> again
Fix for #8. Going back to using Linq.Expressions

Not able to get the correct argument name from instrumented assemblies
(eg. when testing with code coverage)