code: function mapEquals(map1, map2, traversedValues) {
    if (map1.size !== map2.size) {
      return false
    }
    
    return structureEquals(
      map1,
      map2,
      iteratorToArray(map1.keys()),
      iteratorToArray(map2.keys()),
      (map, key) => map.get(key),
      traversedValues
    )
  }
docs: Compares the two provided maps.
  
  @param {Map<*, *>} map1 The 1st map to compare.
  @param {Map<*, *>} map2 The 2nd map to compare.
  @param {Map<Object, Object>} traversedValues A map of non-primitive values
  traversed in the first structure to their equal counterparts in the
  second structure.
  @return {boolean} {@code true} if the maps are equal.