type Vec2 = (float, float) fn add(a: Vec2, b: Vec2) -> Vec2 { (a[0] + b[0], a[1] + b[1]) } fn sub(a: Vec2, b: Vec2) -> Vec2 { (a[0] - b[0], a[1] - b[1]) } fn dot(a: Vec2, b: Vec2) -> float { a[0]*b[0] + a[1]*b[1] } u := (0.0, 1.0) v := (2.0, 3.0) println(add(u, v)) println(sub(u, v)) println(dot(u, v))