def type(self, variant_probe_coverages, variant=None):
        if not isinstance(variant_probe_coverages, list):
            variant_probe_coverages = [variant_probe_coverages]
        calls = []
        for variant_probe_coverage in variant_probe_coverages:
            calls.append(
                self._type_variant_probe_coverages(
                    variant_probe_coverage, variant))
        hom_alt_calls = [c for c in calls if sum(c["genotype"]) > 1]
        het_calls = [c for c in calls if sum(c["genotype"]) == 1]
        if hom_alt_calls:
            hom_alt_calls.sort(key=lambda x: x["info"]["conf"], reverse=True)
            return hom_alt_calls[0]
        elif het_calls:
            het_calls.sort(key=lambda x: x["info"]["conf"], reverse=True)
            return het_calls[0]
        else:
            calls.sort(key=lambda x: x["info"]["conf"], reverse=True)
            return calls[0]