reflectwalk is a Go library for "walking" complex structures, similar to walking a filesystem.