How about changing `BaseImmutableContentMetadata` to accept a HashCode constructor arg rather than a `byte[]`? Then we can save ourselves the `null` handling here?