code: func list(env Env, template, pkg string) ([]string, error) {
  	if env == nil {
  		env = getEnv()
  	}
  
  	lst, err := runProgram(env, 60*time.Second, "go", "list", "-f", template, pkg)
  	if err != nil {
  		return nil, err
  	}
  
  	return strings.Split(strings.Trim(string(lst), "\n"), "\n"), nil
  }
docs: // Logic inspired by: https://dave.cheney.net/2014/09/14/go-list-your-swiss-army-knife