code: def find_reachable( modules, index, shared, stop_types=STOP_TYPES ):
      
      reachable = set()
      already_seen = set()
      for module in modules:
          for child in recurse( module, index, stop_types=stop_types, already_seen=already_seen):
              reachable.add( child['address'] )
      return reachable
docs: Find the set of all reachable objects from given root nodes (modules)