changes from tisch-merge branch, mostly result of comparison with
syntax trees.