1    do
2        let v1 = num/Vector3<i32> 1 2 3
3        let v2 = num/Vector3<i32> 1 2 4
4        assert v1 <> v2
5    
6        let x = X 7
7        let v3 = v1 + x
8        assert v3.x == 8
9    
10   type X<T> value
11       let (+) rhs = value + rhs.value |> X
12   
13   do
14       let x = X 5 + X 3
15       assert x == X 8
16   
17   type X<u32> value
18       let display () = "value is $value"
19   
20   do
21       let x = X<u32> 9
22       assert x.display == "value is 9"
23