def add_at_idx(t, idx, val, typ=tuple, op=operator.__add__): """ add_at_idx(t, idx, val, typ=tuple, op=operator.__add__) -> t with t[idx] = op(t[idx], val) """ return t[:idx] + typ((op(t[idx], val),)) + t[idx+1:]