As far as I can remember, all the basics I have used regularly, going back to BBC basic and Mbasic, have had this MID$()=
But let me share a secret with you: No assignment is involved! The compiler takes both sides of the expression and treats the whole thing as a procedure. MID$ can be expressed in at least 3 ways:
string s="1234567890"
mid s,1,"A"
mid(s,2,"B")
mid(s,3)="C" 'pseudovariable
print s
You can also deploy your own pseudovariables if it makes sense to do so
sub insert(s as string,i as long,t as string)
s=left(s,i-1)+t+mid(s,i)
end sub
s="1234567890"
insert(s,4)="ABC"
print s
Charles