def sort_2metals(metals):
    """
    Handles iterable or string of 2 metals and returns them
    in alphabetical order

    Args:
    metals (str || iterable): two metal element names

    Returns:
        (tuple): element names in alphabetical order
    """
    # return None's if metals is None
    if metals is None:
        return None, None
    if isinstance(metals, str):
        if len(metals) != 4:
            raise ValueError('str can only have two elements.')
        metal1, metal2 = sorted([metals[:2], metals[2:]])
    else:
        metal1, metal2 = sorted(metals)
    return metal1.title(), metal2.title()