code: function sequencify ( map, components ) {
    let results = []; // the final sequence
    const missing = []; // missing map
    const recursive = []; // recursive task dependencies
  
    sequence( map, components, results, missing, recursive, [] );
  
    if ( missing.length || recursive.length ) {
      results = []; // results are incomplete at best, completely wrong at worst, remove them to avoid confusion
    }
  
    return {
      sequence: results,
      missingTasks: missing,
      recursiveDependencies: recursive,
    };
  }
docs: map: WeakMap of map -> deps components: array of task components