<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def pack_balance_proof_update( nonce: Nonce, balance_hash: BalanceHash, additional_hash: AdditionalHash, canonical_identifier: CanonicalIdentifier, partner_signature: Signature, ) -> bytes: """Packs balance proof data to be signed for updateNonClosingBalanceProof Packs the given arguments in a byte array in the same configuration the contracts expect the signed data for updateNonClosingBalanceProof to have. """

    return pack_balance_proof(
        nonce=nonce,
        balance_hash=balance_hash,
        additional_hash=additional_hash,
        canonical_identifier=canonical_identifier,
        msg_type=MessageTypeId.BALANCE_PROOF_UPDATE,
    ) + partner_signature