add Expression#copy for future AST rewriting
initial support for selecting single values