<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def dump_container(obj, container, container_type, params=None, field_archiver=None):
 """ Serializes container as popo :param obj: :param container: :param container_type: :param params: :param field_archiver: :return: """

    field_archiver = field_archiver if field_archiver else dump_field
    elem_type = params[0] if params else None
    if elem_type is None:
        elem_type = container_type.ELEM_TYPE

    obj = [] if obj is None else get_elem(obj)
    if container is None:
        return None
    for elem in container:
        fvalue = await field_archiver(None, elem, elem_type, params[1:] if params else None)
        obj.append(fvalue)
    return obj