> Modal programs are represented as a series of rules, formatted as tokens delimited by brackets and parentheses, applied to a given tree which gets continually modified until no rules match any given part of the tree. ``` <> (?x dup) (?x ?x) <> (?x ?y swap) (?y ?x) <> ( ?x pop) () .. (1 2 3) (4 5 6) swap pop dup 01 (4 5 6) (1 2 3) pop dup 02 (4 5 6) dup 00 (4 5 6) (4 5 6) ``` ``` <> (if (#t) ?b) (?b) <> (if (#f) ?b) () .. (if (eq bat bat) reached!) 02 (if (#t) reached!) 00 (reached!) ```