def transpose (coords):
    """Returns the transpose of `coords` in any number of dimensions, so:

        ( (x1, y1, ...), ... (xN, yN, ...) )

    becomes:

        ( (x1, x2, ..., xN), (y1, y2, yN...), ... )

    """
    return zip(*coords)