code: func (iter Enumerator) SelectMany(lister Unfolder) Enumerator {
  	retval := make(chan interface{})
  
  	go func() {
  		for parent := range iter {
  			for child := range lister(parent) {
  				retval <- child
  			}
  		}
  		close(retval)
  	}()
  
  	return retval
  }
docs: // SelectMany allows for flattening of data structures.