1. A method, implemented at a computer system that includes one or more processors, of evaluating an expression tree, the method comprising: at a first domain, accessing an expression tree comprising a plurality of nested expressions, the plurality of nested expressions spanning a plurality of domains, and including: (i) one or more first nested expressions that are expressed in a first dialect of the first domain in a manner that they are expandable to a second dialect of a second domain for evaluation by the second domain, and (ii) one or more second nested expressions that are expressed in the first dialect of the first domain in a manner that they are expandable to a third dialect of a third domain for evaluation by the third domain, wherein the first dialect, the second dialect, and the third dialect are each different from each other, and wherein the expression tree contains all information needed to expand the one or more first nested expressions from the first dialect to the second dialect and contains all information needed to expand the one or more second nested expressions from the first dialect to the third dialect; determining that the one or more first expressions are to be evaluated by the second domain, and that the one or more second expressions are to be evaluated by the third domain; and based at least on determining that the one or more first expressions and the one or more second expressions are to evaluated by the second and third domains, respectively, expanding the one or more first expressions to the second dialect, and expanding the one or more second expressions to the third dialect.