post-review proto version
initial proto v4, the post-review version
s/functor/functional
proto v4
eliminate need for child_traits, handle function references as terminals correctly
clean-up in skip_primitives
don't double-deref args to make_expr, nuke trailing spaces
merged from trunk
merged from trunk
merged from trunk
merged from trunk
merged from trunk
merged from trunk
merged from trunk
merged from trunk
merged from trunk
merged from trunk