added Copy() to Expression
this allows for operations to mutate Expressions without destroying original