human
Here's a good function header given the following:
I wrote the below code

    n = len(poly.vertices)
    vertices = list(poly.vertices)
    center = Point((sum(map((lambda vertex: vertex.x), poly.vertices)) / n), (sum(map((lambda vertex: vertex.y), poly.vertices)) / n))
    def compareTo(a, b):
        if (((a.x - center.x) >= S.Zero) and ((b.x - center.x) < S.Zero)):
            return S((-1))
        elif (((a.x - center.x) < S.Zero) and ((b.x - center.x) >= S.Zero)):
            return S(1)
        elif (((a.x - center.x) == S.Zero) and ((b.x - center.x) == S.Zero)):
            if (((a.y - center.y) >= S.Zero) or ((b.y - center.y) >= S.Zero)):
                return (S((-1)) if (a.y > b.y) else S(1))
            return (S((-1)) if (b.y > a.y) else S(1))
        det = (((a.x - center.x) * (b.y - center.y)) - ((b.x - center.x) * (a.y - center.y)))
        if (det < S.Zero):
            return S((-1))
        elif (det > S.Zero):
            return S(1)
        first = (((a.x - center.x) * (a.x - center.x)) + ((a.y - center.y) * (a.y - center.y)))
        second = (((b.x - center.x) * (b.x - center.x)) + ((b.y - center.y) * (b.y - center.y)))
        return (S((-1)) if (first > second) else S(1))
    return Polygon(*sorted(vertices, key=cmp_to_key(compareTo)))

What's a good function header?
assistant
#Here's a good function header.

def clockwise_sort(poly):