This function takes ProvidedValue and coverts it to an erased Value by
allocating it on an arena if the query has the arena_cache modifier. The
value is then erased and returned. This will happen when computing the query
using a provider or decoding a stored result.
This type alias specifies the type returned from query providers and the type
used for decoding. For regular queries this is the declared returned type V,
but arena_cache will use <V as Deref>::Target instead.