code: func (s LoginSession) Listing(username, listing string, sort PopularitySort, after string) ([]*Submission, error) {
  	values := &url.Values{}
  	if sort != "" {
  		values.Set("sort", string(sort))
  	}
  	if after != "" {
  		values.Set("after", after)
  	}
  	url := fmt.Sprintf("https://www.reddit.com/user/%s/%s.json?%s", username, listing, values.Encode())
  	req := &request{
  		url:       url,
  		cookie:    s.cookie,
  		useragent: s.useragent,
  	}
  
  	body, err := req.getResponse()
  	if err != nil {
  		return nil, err
  	}
  
  	type Response struct {
  		Data struct {
  			Children []struct {
  				Data *Submission
  			}
  		}
  	}
  
  	r := &Response{}
  	err = json.NewDecoder(body).Decode(r)
  	if err != nil {
  		return nil, err
  	}
  
  	submissions := make([]*Submission, len(r.Data.Children))
  	for i, child := range r.Data.Children {
  		submissions[i] = child.Data
  	}
  
  	return submissions, nil
  }
docs: // Listing returns a listing for an user