I have some code to compute a tuple replacement

```
function set(tuple::Tuple{T1, T2}, t, i::I) where {T1, T2, I}
if i == 1
(t, tuple[2])
elseif i == 2
(tuple[1], t)
else
tuple
end
end
function set(tuple::Tuple{T1, T2, T3}, t, i::I) where {T1, T2, T3, I}
if i == 1
(t, tuple[2], tuple[3])
elseif i == 2
(tuple[1], t, tuple[3])
elseif i == 3
(tuple[1], tuple[2], t)
else
tuple
end
end
```

Is this as good as it gets (Iβm considering performance, not beauty)?

As always: thanks!