struct Quad {
mut:
	x f64
	y f64
	z f64
	w f64
}

type Point = Quad
type Vector = Quad

fn new_point(x f64, y f64, z f64) &Point {
	return &Point{x, y, z, 1}
}

fn new_vector(x f64, y f64, z f64) &Vector {
	return &Vector{x, y, z, 0}
}

fn main() {
	n := new_point(1, 2, 3)
	println(n)
}
