Disconnect reader after full segment processing.
Print less verbose type IDs.
Support grouped query expressions.

We now support groups of expressions. The following example illustrates best
what groups are. Let A, B, C be predicates. Then we can now form query
expressions of the following form:

        A && (B || C)

Previously this required users to manually apply the distributive law of
boolean algebra by writing

        A && B || A && C

and remembering the precedence rules of the relational operators. For long
query expression, however, this becomes intractable and all modern query
processors offer some form of grouping.