code: func GoChild(parent Process, f ProcessFunc) Process {
  	p := WithParent(parent)
  	p.Go(f)
  	return p
  }
docs: // GoChild is like Go, but it registers the returned Process as a child of parent,
  // **before** spawning the goroutine, which ensures proper synchronization with parent.
  // It is somewhat like
  //
  //   func GoChild(parent Process, f ProcessFunc) Process {
  //     p := WithParent(parent)
  //     p.Go(f)
  //     return p
  //   }
  //
  // And it is similar to the classic WaitGroup use case:
  //
  //   func WaitGroupGo(wg sync.WaitGroup, child func()) {
  //     wg.Add(1)
  //     go func() {
  //       child()
  //       wg.Done()
  //     }()
  //   }
  //