def DSU(array, accessor):
    """Decorate Sort Undecorate -- a Schwartzian transform.

    @param array: List to sort.
    @type array: List
    @param accessor: A function of each list element, 
    returning the value by which array will be sorted.    
    e.g. accessor = lambda x: int(x[3]).
    e.g. accessor = lambda x: x.sStart.
    @return: The sorted list.
    """
    decorated = [(accessor(x), x) for x in array]
    decorated.sort()
    return [y[1] for y in decorated]