I still find the code too horrible to look at, all that
reflection and late binding goo... I feel this misses
the point. Linq is about writing functionality which is
checked at compile time. Doing things behind the scenes
to get stuff generated at RUNTIME, has to be
deterministic/predictable: i.e. query Q always results
in SQL S. This code seems to me more like 'it can be
done'-code but hardly useful.