Correct. I get the equivalent (if I am not wrong this time) of Haskell's newtype declaration.
I am looking for an half-way street. The benefit of static typing without the hard work of casting/coercion.... Basically I want the compiler to do everything for me without being a pain when I don't want it to.... I tried using 'template' to declare the v1 and v2 declaration but that didn't achieve what I want too. I appreciate I am asking for something unusual, at least in the sense I have not seen that in any other language I know. If it is not possible in Nim, no worries.