I think our immutable objects should memoize the computed hash value. Especially since this creates an object in the process which increases the need for GC.