docs: function findFirstPassResolutions (tymlyRefs, components) {
    const firstPass = [ ]
    const roots = new Set()
  
    for (const [type, referees] of Object.entries(tymlyRefs)) {
      for (const [targetName, references] of Object.entries(referees)) {
        const target = `${type}:${targetName}`
  
        const firstPassRefs = references
          .filter(ref => canResolve(ref.ref, components))
        firstPassRefs.forEach(r =>
          firstPass.push({
            target: target,
            path: r.path,
            ref: r.ref
          })
        )
  
        firstPassRefs.forEach(r => { r.when = 'firstPass' })
  
        roots.add(target)
      } // refs
    } // for ...
  
    checkRootsForLoops(roots, firstPass)
  
    return firstPass.length ? firstPass : null
  }