Type of the search tree. Inlining the choice nodes for now. Weights on
package, flag, and stanza choices control the traversal order.
The tree can hold additional data on
Done nodes (type
d) and choice nodes (type
c). For example, during
the final traversal, choice nodes contain the variables that
introduced the choices, and
Done nodes contain the assignments
for all variables.
TODO: The weight type should be changed from [Double] to Double to
avoid giving too much weight to preferences that are applied later.