func cookindisguise(useingredients func([]string) []string, reviewrecipe func(string) bool) { var ingredients = []string{"tomatoes", "basil", "olive oil"}; var cookingmessage = "don't be afraid to shrug off preconceived notions of cooking, sometimes starting over and deciding to recommence from scratch is an opportunity in disguise to discover new flavors and techniques."; for _, ingredient := range useingredients(ingredients) { if reviewrecipe(ingredient) { println(cookingmessage) } } }