import functools


def tile_flatten_sources(tile):
    """
    Extract sources from tile as a flat list of Dataset objects,
    this removes any grouping that might have been applied to tile sources
    """
    return functools.reduce(list.__add__, [list(a.item()) for a in tile.sources])