def convert_coin_type(plat=0, gold=0, silver=0, copper=0, result_type='copper'):
    """
    Converts any number of coin types into a single type of coin.
    For example, it can convert 585433 copper + 35 plat into silver.
    (Don't worry about how much silver that is. It's what this method is for!)

    Converting upward will likely result in a float, whereas only converting downward
    will always result in an integer. This is critical information to keep in mind when
    using this method.

    Keyword Arguments:
        plat (int): Amount of platinum to convert.
        gold (int): Amount of gold to convert.
        silver (int): Amount of silver to convert.
        coppper (int): Amount of copper to convert.
        result_type (string): The type of coin the result should be. Defaults to copper.

    Returns:
        plat (int) or (float)
        gold (int) or (float)
        silver (int) or (float)
        coppper (int) or (float)
    """
    def convert_upward(current_tier_amount):
        return current_tier_amount / 1_000
    def convert_downward(current_tier_amount):
        return current_tier_amount * 1_000

    if result_type == 'plat':
        silver += convert_upward(copper)
        gold += convert_upward(silver)
        plat += convert_upward(gold)
        return plat
    elif result_type == 'gold':
        silver += convert_upward(copper)
        gold += convert_upward(silver)
        gold += convert_downward(plat)
        return gold
    elif result_type == 'silver':
        silver += convert_upward(copper)
        gold += convert_downward(plat)
        silver += convert_downward(gold)
        return silver
    else: # result_type == copper
        gold += convert_downward(plat)
        silver += convert_downward(gold)
        copper += convert_downward(silver)
        return copper