fpgo Functional Programming Data Structures for Go a.k.a. exploring go generics Why isn't function x y z a method? Because Go generics still makes me sad