つまり、↓のようなコードね
勿論その下の型シグニチャ+オーバーロードっぽい擬似コードのほうが
ずっと明快で好ましいと思うけど

def draw_rect(*args):
if len(*args) == 4:
x0, y0, x1, y1 = args
elif len(*args) == 2:
(x0, y0), (x1, y1) = args[0], args[1]
elif len(*args) == 1:
x0, y0, x1, y1 = args[0]
:
-----------------------------------------------------------
def draw_rect(rc: Rect):
draw_rect(rc.x0, rc.y0, rc.x1, rc.y1)

def draw_rect(pt0: Point, pt1: Point):
draw_rect(pt0.x, pt0.y, pt1.x, pt1.y)

def draw_rect(x0: int, y0: int, x1: int, y1: int):
: