fn work<'a, BaseJob, MergeJob, I>( trees: I, delay: u64, max_base_jobs: u64, ) -> Vec<AvailableJob<BaseJob, MergeJob>>where I: IntoIterator<Item = &'a Tree<Base<BaseJob>, Merge<MergeJob>>>, BaseJob: Debug + Clone + 'static, MergeJob: Debug + Clone + 'static,