Cache hash value of ImmutableRecord
Due to the data structure to being intended immutable, the hash value cannot change during object lifetime. This commit caches the value upon first evaluation.
Due to the data structure to being intended immutable, the hash value cannot change during object lifetime. This commit caches the value upon first evaluation.