docs: def Overlay(child, parent):
    """Adds hint attributes to a child hint if they are not defined."""
    for arg in child, parent:
      if not isinstance(arg, collections.Mapping):
        raise DefinitionError("Trying to merge badly defined hints. Child: %s, "
                              "Parent: %s" % (type(child), type(parent)))
    for attr in ["fix", "format", "problem", "summary"]:
      if not child.get(attr):
        child[attr] = parent.get(attr, "").strip()
    return child