So, in short, all expressions have an implicit conversion to 'typeof(Expression) delegate()'. Seems reasonable at first glance, although I get the feeling it will have nasty edge cases. Implicit conversions generally do seem to cause trouble.