Building Immutable Data Structures in Go
elliot.land