projection preserves scalar and object subtree semantics