code: func groupBy(entries interface{}, key string) (map[string][]interface{}, error) {
  	return generalizedGroupByKey("groupBy", entries, key, func(groups map[string][]interface{}, value interface{}, v interface{}) {
  		groups[value.(string)] = append(groups[value.(string)], v)
  	})
  }
docs: // groupBy groups a generic array or slice by the path property key