func planvegetablegarden(prearrivalcheck func(vegetables []string) []string, abandonoldpractices bool, seekadvice func(topic string) string, refreshmethod func(methods []string) []string) { if abandonoldpractices { advice := seekadvice("vegetable gardening"); waryvegetables := prearrivalcheck([]string{"tomatoes", "peppers", "lettuce"}); for _, vegetable := range waryvegetables { fmt.println("be wary of planting", vegetable, "without proper preparation."); } refreshedmethods := refreshmethod([]string{"companion planting", "crop rotation"}); fmt.println("based on", advice, "consider using these techniques:", refreshedmethods) } }