Ah, of course. I understand now. Setting to an integer has disastrous consequences for the vm. That must be prevented.
Possibly by coincidence Jaromir brought up the issue on squeak-dev, suggesting
```Context>>privSender: aContextOrNil
sender := aContextOrNil ifNotNil: [aContextOrNil asContext]```
which I think is good. I would validate by sending asContext in the relevant places. If necessary we can introduce something only understood by Context and not by BlockClosure, eg raiseErrorIfNotContext, which I suppose could be implemented in Object to raise an error.