Just so you are aware of what's out there: https://github.com/robpike/filter
"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. Rob Pike " https://github.com/JohnCGriffin/yogofn - uses reflection, but has non-reflective code for float64, int, and string slices. https://github.com/kulshekhar/fungen - uses go generate to create list-like types with MRF functions. https://github.com/thoas/go-funk - reflect-based generic MRF, along with some single-typed instances https://github.com/benashford/go-func - another reflection based MRF https://blog.gopheracademy.com/advent-2015/glow-map-reduce-for-golang/ - glow is more like your example, using channels for MRF, but adds the ability to shard and distribute the shards. You might want to look over these and see what differentiates your solution so that you can mention it in your Readme.MD. Also, don't forget that generics are coming in 1.18, and they are already enabled in go-tip, so you can be working on a non-reflection based generic solution. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/977e8819-c19d-4798-b8d7-277feea0dc7cn%40googlegroups.com.