Given a series of Conflicts which occurred between two sub-fields, generate a single Conflict.

def _subfield_conflicts(
    conflicts,  # type: List[Tuple[Tuple[str, str], List[Node], List[Node]]]
    response_name,  # type: str
    ast1,  # type: Node
    ast2,  # type: Node
):
    # type: (...) -> Optional[Tuple[Tuple[str, str], List[Node], List[Node]]]
    """Given a series of Conflicts which occurred between two sub-fields, generate a single Conflict."""
    if conflicts:
        return (  # type: ignore
            (response_name, [conflict[0] for conflict in conflicts]),
            tuple(itertools.chain([ast1], *[conflict[1] for conflict in conflicts])),
            tuple(itertools.chain([ast2], *[conflict[2] for conflict in conflicts])),
        )
    return None