The same is the case with a number of Tcl built-ins that take switches ("switch", for example): If the argument that you supply to it _may_ start with a dash, you should use a "--" before that argument. That's why you see things like
switch -- $foo {
...
}
all over the place.