1. How often do you insert into a slice? You know that's a O(n) operation, right?
2. nil is typed, I'll grant that it's not the most obvious part of Go's type system.
3. Meh.
4. This is type covariance. It's complicated and hard to get right. The Java Generics FAQ looks like this: http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.ht...
5. I like by-value loops. Everything else in Go is by-value.
6. Yeah, fuck everything we know about parsing, let's make whitespace significant, then we can declare slices like:
x := []int{
1
-2
+3
}
len(x) == 3
y := []int{1 -2 +3}
len(y) == 1
7. Meh