code: def flatten_output(task):
      
      r = flatten(task.output())
      if not r:
          for dep in flatten(task.requires()):
              r += flatten_output(dep)
      return r
docs: Lists all output targets by recursively walking output-less (wrapper) tasks.
  
      FIXME order consistently.