Re: "right-hand vs left-hand":
You are correct, it shouldn't be important though the current implementation makes a distinction - don't have time to try it tonight - I suspect it may just produce an expression with an unneeded set of brackets in one case.
Re: "I think the point here is that the findAll evaluator doesn't do resolution at all, it assumes that the value is a literal. Isn't this just wrong?"
I guess I am just saying "wrong" is in the eye of the beholder. Groovy can provide a limited functionality DataSet if it wants. It will probably still cover many of the typical queries that people do but obviously not all. What we currently have though is a limited functionality mechanism with some secondary issues (poor error messages and inadequate documentation). I tend to agree with you that we do want to fix this properly but am reminding myself that perhaps removing the secondary issues in the meantime might also be a useful step forward.