[wip] first try at explain plan

trying to construct a list of steps through which the solver goes to solve the
query. Idea is to accumulate teh list while evaluating each subexpression