<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_contracts(instruments, prices, multipliers, desired_ccy=None, instr_fx=None, fx_rates=None, rounder=None):
 """ Convert notional amount of tradeable instruments to number of instrument contracts, rounding to nearest integer number of contracts. Parameters instruments: pandas.Series Series of instrument holdings. Index is instrument name and values are notional amount on instrument. prices: pandas.Series Series of instrument prices. Index is instrument name and values are instrument prices. prices.index should be a superset of instruments.index multipliers: pandas.Series Series of instrument multipliers. Index is instrument name and values are the multiplier associated with the contract. multipliers.index should be a superset of instruments.index desired_ccy: str Three letter string representing desired currency to convert notional values to, e.g. 'USD'. If None is given currency conversion is ignored. instr_fx: pandas.Series Series of instrument fx denominations. Index is instrument name and values are three letter strings representing the currency the instrument is denominated in. instr_fx.index should match prices.index fx_rates: pandas.Series Series of fx rates used for conversion to desired_ccy. Index is strings representing the FX pair, e.g. 'AUDUSD' or 'USDCAD'. Values are the corresponding exchange rates. rounder: function Function to round pd.Series contracts to integers, if None default pd.Series.round is used. Returns ------- pandas.Series of contract numbers of instruments with Index of instruments names """

    contracts = _instr_conv(instruments, prices, multipliers, False,
                            desired_ccy, instr_fx, fx_rates)
    if rounder is None:
        rounder = pd.Series.round

    contracts = rounder(contracts)
    contracts = contracts.astype(int)
    return contracts