def METHOD_NAME(
    self, element_objects: List[smact.Element], anions: List[str]
):
    poss_n_type_an = []
    poss_p_type_an = []
    for element in element_objects:
        oxi_state = element.oxidation_states
        el_symbol = element.symbol
        for state in oxi_state:
            for anion in anions:
                ele = utilities.unparse_spec((el_symbol, state))
                _, charge = utilities.parse_spec(anion)
                if state > charge and state < 0:
                    if ele not in poss_n_type_an:
                        poss_n_type_an.append(ele)
                elif state < charge:
                    if ele not in poss_p_type_an:
                        poss_p_type_an.append(ele)
    return poss_n_type_an, poss_p_type_an