code: func (f *Future) Bind(f2 *Future) {
  	select {
  	case <-f2.completeChannel:
  		f.Data = f2.Data
  		close(f.completeChannel)
  	case <-f2.cancelChannel:
  		f.Data = f2.Data
  		close(f.cancelChannel)
  	}
  }
docs: // Bind will tie the current future to the specified future. If the bound to
  // future is completed or canceled the current will as well. Data saved in the
  // bound future is copied to the current on complete and cancel.