Add ctx.copy() helper