foo :: (x : float, y : float, z : float) -> float { return x * y * z; } foo :: (x : float, y : float, z : float, w : float) -> float { return x * y * z * w; } vertex main :: () { foo(2.0, 3.0); }