class Hash

  def deep_clone(cache = {})
    return cache[self] if cache.key?(self)