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