The main point I was trying to make here was that very complex expressions
are very, very rare.
An acceptable compromise would be to analyse what can be done without
busting a vein, and to flag anything anthing else as an error ("expression
too complicated") and document the way around, presumably a user-defined
variable where the user provides the type. And if the expressions is really
so complex, this might even imrove readability ;-)
Wolfgang