17: pass possibly recursive constructs to parser