flatten with mapcat