<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def to_checksum_address(value: AnyStr) -> ChecksumAddress: """ Makes a checksum address given a supported format. """

    norm_address = to_normalized_address(value)
    address_hash = encode_hex(keccak(text=remove_0x_prefix(norm_address)))

    checksum_address = add_0x_prefix(
        "".join(
            (
                norm_address[i].upper()
                if int(address_hash[i], 16) > 7
                else norm_address[i]
            )
            for i in range(2, 42)
        )
    )
    return ChecksumAddress(HexAddress(checksum_address))