http://arclanguage.org/item?id=2052
It started with the idea of using ? rather than o, then someone suggested using only one ? for all optional arguments.