The Go 'range over functions' proposal and user-written container types
https://utcc.utoronto.ca/~cks/space/blog/programming/GoRangefuncAndUserContainers