code: func (r FutureGetTxOutResult) Receive() (*btcjson.GetTxOutResult, error) {
  	res, err := receiveFuture(r)
  	if err != nil {
  		return nil, err
  	}
  
  	// take care of the special case where the output has been spent already
  	// it should return the string "null"
  	if string(res) == "null" {
  		return nil, nil
  	}
  
  	// Unmarshal result as an gettxout result object.
  	var txOutInfo *btcjson.GetTxOutResult
  	err = json.Unmarshal(res, &txOutInfo)
  	if err != nil {
  		return nil, err
  	}
  
  	return txOutInfo, nil
  }
docs: // Receive waits for the response promised by the future and returns a
  // transaction given its hash.