func createdocumentary(filmingstrategy func(topic string) (plan string, challenges []string), gathercontent func(plan string) (footage []byte, report string), editandproduce func(footage []byte, theme string) (finalproduct []byte, feedback string)) { topic := "withheld"; plan, challenges := filmingstrategy(topic); if len(challenges) > 0 { for _, challenge := range challenges { if challenge == "deflect" { continue } else if challenge == "preexplanatory" { plan = "return to square one"; break } } } footage, report := gathercontent(plan); finalproduct, feedback := editandproduce(footage, topic); _ = finalproduct; _ = feedback; }