F.BuiltinSourceHash support for array and ref is provided, but is potentially DANGEROUS, since it incorporates the current contents of the array/ref into the hash value. Because of this we add a _frozen suffix to the function name.
Hash support for string is also potentially DANGEROUS, but strings are mutated less often, so we don't append _frozen to it.
Also note that we don't support bytes.