I wanted to see how hard it was to implement this sort of thing in Go, with as nice an API as I could manage. It wasn't hard.
Having written it a couple of years ago, I haven't had occasion to use it once. Instead, I just use "for" loops.
You shouldn't use it either.
- Download and build go2go as described here: https://blog.golang.org/generics-next-step
- Run
go tool go2go test