I'm wondering why it's not possible to do the following in go:
func main() {
    stuff := []string{"baz", "bla"}
    foo("bar", stuff...)
}
func foo(s ...string) {
    fmt.Println(s)
}
In my understanding, slice... "explodes" the slice so it can be used for multi argument function calls. So the above example should actually expand to foo("bar", "baz", "bla"). 
foo(stuff...) works as expected, no surprises here, but in the example above, the compiler complains about too many arguments.
Is this a desired limitation? I'm coming from a ruby background where a foo("bar", *stuff) is perfectly fine (and is, at least in my book, the same thing), that's why this surprises me.
 
     
     
     
     
     
    