code: func listOSes(c context.Context, names stringset.Set) ([]*crimson.OS, error) {
  	db := database.Get(c)
  	rows, err := db.QueryContext(c, `
  		SELECT name, description
  		FROM oses
  	`)
  	if err != nil {
  		return nil, errors.Annotate(err, "failed to fetch operating systems").Err()
  	}
  	defer rows.Close()
  
  	var oses []*crimson.OS
  	for rows.Next() {
  		os := &crimson.OS{}
  		if err = rows.Scan(&os.Name, &os.Description); err != nil {
  			return nil, errors.Annotate(err, "failed to fetch operating system").Err()
  		}
  		if matches(os.Name, names) {
  			oses = append(oses, os)
  		}
  	}
  	return oses, nil
  }
docs: // listOSes returns a slice of operating systems in the database.