Vector operators don't seem to work
It's hard to tell which of them aren't working, but for example this:

```nim
print vec2(1, 0) + vec2(0, 1)
```

prints `1, 0`, whereas if I define my own `+` method:

```nim
proc `+`(a, b: Vector2): Vector2 = vec2(a.x + b.x, a.y + b.y)
print vec2(1, 0) + vec2(0, 1)
```

it prints `1, 1` as expected.

Also using `+=` gives me a stack overflow and crashes, but maybe I'm not using it correctly:

```nim
var a = vec2(1, 0)
var b = vec2(0, 1)
a += b
print a
```

Thus I have to resort to using `a = a + b` instead, which only works with my `+` override above. I am unable to create a corresponding `+=` override because I get "`a.x` cannot be assign to".