code: func (h *Client) list(ctx context.Context, req *rls.ListReleasesRequest) (*rls.ListReleasesResponse, error) {
  	c, err := h.connect(ctx)
  	if err != nil {
  		return nil, err
  	}
  	defer c.Close()
  
  	rlc := rls.NewReleaseServiceClient(c)
  	s, err := rlc.ListReleases(ctx, req)
  	if err != nil {
  		return nil, err
  	}
  	var resp *rls.ListReleasesResponse
  	for {
  		r, err := s.Recv()
  		if err == io.EOF {
  			break
  		}
  		if err != nil {
  			return nil, err
  		}
  		if resp == nil {
  			resp = r
  			continue
  		}
  		resp.Releases = append(resp.Releases, r.GetReleases()...)
  	}
  	return resp, nil
  }
docs: // list executes tiller.ListReleases RPC.