message: Pass dictionary directly during construction of a dict-inherited class.
diff: @@ -1218,7 +1218,8 @@ def regroup(values, wrap_class=PerReplica):
  assert isinstance(v, dict), ("v[0]: %r v[i]: %r" % (v0, v))
  assert set(v.keys()) == v0keys, ("v[0].keys: %s v[i].keys: %s" %
  (v0keys, set(v.keys())))
  - return type(v0)(**{
  + # Use the actual type in case it is a class inherited from a dict.
  + return type(v0)({
  key: regroup(tuple(v[key] for v in values), wrap_class)
  for key in v0keys
  })
  