refine tuple manipulation semantics