Support hashing recursive objects