pub fn XY(comptime T: type) type { return struct { x: T, y: T, pub fn init(x: T, y: T) @This() { return .{ .x = x, .y = y }; } const Self = @This(); pub fn eql(self: Self, other: Self) bool { return self.x == other.x and self.y == other.y; } }; }