def _verify_original_IDs_type_hetero(hg, orig_nids, orig_eids):
    """
    check list:
        make sure type of nodes and edges' ids are correct.
        make sure nodes and edges' number in each type is correct.
    """
    assert len(orig_nids) == len(hg.ntypes)
    assert len(orig_eids) == len(hg.canonical_etypes)
    for ntype in hg.ntypes:
        assert len(orig_nids[ntype]) == hg.num_nodes(ntype)
        assert F.dtype(orig_nids[ntype]) in (F.int64, F.int32)
    for etype in hg.canonical_etypes:
        assert len(orig_eids[etype]) == hg.num_edges(etype)
        assert F.dtype(orig_eids[etype]) in (F.int64, F.int32)

    check list:
        make sure type of nodes and edges' ids are correct.
        make sure nodes and edges' number in each type is correct.
    
tests/distributed/test_partition.py