<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compose_ants_transforms(transform_list):
 """ Compose multiple ANTsTransform's together ANTsR function: `composeAntsrTransforms` Arguments --------- transform_list : list/tuple of ANTsTransform object list of transforms to compose together Returns ------- ANTsTransform one transform that contains all given transforms Example ------- """

    precision = transform_list[0].precision
    dimension = transform_list[0].dimension

    for tx in transform_list:
        if precision != tx.precision:
            raise ValueError('All transforms must have the same precision')
        if dimension != tx.dimension:
            raise ValueError('All transforms must have the same dimension')

    tx_ptr_list = list(reversed([tf.pointer for tf in transform_list]))
    libfn = utils.get_lib_fn('composeTransforms%s' % (transform_list[0]._libsuffix))
    itk_composed_tx = libfn(tx_ptr_list, precision, dimension)
    return ANTsTransform(precision=precision, dimension=dimension,
                        transform_type='CompositeTransform', pointer=itk_composed_tx)