It has a Modula-3 generics feel.
http://www.cs.purdue.edu/homes/hosking/m3/reference/generics.html
An interesting compiler project would be to fork Go and implement
Gotgo
facilities directly in the compiler, and see how it feels.
type Foo struct { ... }
func (f *Foo) MyMethod() []Foo {
[code that uses generic code on lists of Foo, but can't, since it
can't import a package that uses Foo]
}
My current view is that package level generics still seems like a good compromise between the C++ way of doing things (long compile times, among other issues), and the current Go solution (no generics). I'm not saying that gotgo necessarily is the way to go for Go mainline, but whatever experience gained from the use and development of it, could surly be usefull if generics is to some day be added to Go.
It is also a quite valid solution that gotgo stands as a non-standard alternative that users can choose to use. Also, a new and better project might spring from it's idea.