(defn
->session
"Returns a new session."
[]
(map->Session
{:alpha-node
(map->AlphaNode
{:path [:alpha-node],
:test-field nil,
:test-value nil,
:children [],
:successors [],
:facts {}}),
:beta-nodes {},
:last-id -1,
:rule-name->node-id {},
:node-id->rule-name {},
:id-attr-nodes {},
:then-queue #{},
:then-finally-queue #{}}))