docs: def _merge_mapping(a, b):
      """
      MERGE TWO MAPPINGS, a TAKES PRECEDENCE
      """
      for name, b_details in b.items():
          a_details = a[literal_field(name)]
          if a_details.properties and not a_details.type:
              a_details.type = "object"
          if b_details.properties and not b_details.type:
              b_details.type = "object"
  
          if a_details:
              a_details.type = _merge_type[a_details.type][b_details.type]
  
              if b_details.type in ES_STRUCT:
                  _merge_mapping(a_details.properties, b_details.properties)
          else:
              a[literal_field(name)] = deepcopy(b_details)
  
      return a