I wrote this to scratch an itch of mine:
There is nothing about go which prevents the use of generics. I wrote the following library to scratch an itch of mine:
https://github.com/mediocregopher/seq
It provides clojure-like data-structures and functions for interacting with them (like map and filter). It's completely immutable and generic, and supports lazy operations.