## 
## ensures that the package_descriptor.package_handle exists
function(package_handle_dependencies package_handle)
  map_tryget(${package_handle} package_descriptor)
  ans(package_descriptor)
  if(NOT package_descriptor)
    map_new()
    ans(package_descriptor)
    map_set(${package_handle} package_descriptor ${package_descriptor})
  endif()
  map_tryget(${package_descriptor} dependencies)
  ans(dependencies)
  if(NOT dependencies)
    map_new()
    ans(dependencies)
    map_set(${package_descriptor} dependencies ${dependencies})
  endif()
  return_ref(dependencies)
endfunction()
