A LinkedDataStore is a wrapper around a PackageStore (i.e., a package store where
we can also resolve types to defining IDs) along with a specific linkage. These two together
allow us to resolve modules and types in a way that is consistent with the linkage provided
and allow us to then pass this into the VM. Until we have a linkage set it is not possible to
construct a valid DataStore for execution in the VM as it needs to be able to resolve modules
under a specific linkage.