For this program:
http://play.golang.org/p/BzMO7Vt3uy
switch x := interface{}(nil).(type) {}
go/types reports an error but gc does not.
I realize the spec does not say what should happen here, but the fact of this
implementation-specific behaviour is that we have two dialects of Go whose tools reject
each others' programs.
We should probably make the tools consistent one way or another.
I would also argue in favour of removing this hole in the spec.