def multivalued_cell_join(params):
    """Join lists into single strings with a separator.

    Expects a ``dict`` as loaded from OpenRefine JSON script.

    Args:
        parameters['description'] (str): Human-readable description
        parameters['columnName'] (str): Column to edit
        parameters['separator'] (str): String with which to join values
    """
    column = params['columnName']
    sep = params['separator']

    def exec_multivalued_cell_join(data):
        return data.assign(**{column:
                              data[column].apply(lambda x: sep.join(x))})

    return exec_multivalued_cell_join