caching of non-hashable objs, ends ImmutableArray