Seems like we could have the calling convention handle `fn foo((x,y): (int, int))` and `fn foo(x: int, y: int)` identically (theoretically).