Comment by readthenotes1

2 hours ago

"In addition to missing lowercase, ASCII 1963 and the Model 33 lacked { } curly braces, | vertical bar, ` backtick, and ~ tilde, and they had ↑ up arrow instead of ^ caret and ← left arrow instead of _ underscore."

explains why Smalltalk used the up arrow and left arrow for fairly reasonable punctuation for return and assignment.

Up arrow was replaced much later by caret and left arrow was sadly replaced by :=

hang about, the smalltalk return operator is why objc block syntax uses carets, isn't it? how did that only just click for me?