...This translation is quite awful and unreadable. It would be so much better to get:Query query = Select(a).Where(id == 5);
what speaks against an sql parsing mixin? would be more expressive, compiletime based and typesafe and even far more be able than what you can do with operator overloading