Flow object tree construction
Specified by set of query-construct-specifications.
This describes a function that can be applied to a node to yield a
flow object sequence. Call this the query-construct function.
The flow object tree is the result of applying this function to the
A query-construct specification contains a query, a constructor and a
When the query-construct function is applied to a node it finds the
highest priority query-construct specification whose query matches the
node and returns the result of applying the constructor function to
the node. In other words it's just a big case expression.