int offset = 0;
checkReplacementSize(lhs.size(), rhs.size(), false, ast);
for (int i = 0; i < selectorVals.length; ++i) {
Selector s = selectorVals[i];
s.start(dim[i], ast); // it is ensured by subscript selectors that itemsToReplace is 1
int k = s.nextIndex(ast);
assert Utils.check(k != RInt.NA); // ensured by subscript selectors
offset += k * mult;
mult *= dim[i];
}
return lhs.set(offset, rhs instanceof RList ? rhs : rhs.get(0));