Ok, I found a solution. Seems **converter** is selected based on the type of 
the result. So I can define it like this: 
    
    
    converter toPointInt*[T](pt: Point[T]): Point[int] =
      result.x = int(pt.x)
      result.y = int(pt.y)
    
    converter toPointFloat*[T](pt: Point[T]): Point[float] =
      result.x = float(pt.x)
      result.y = float(pt.y)
    
    
    Run

And then just call 
    
    
    c = b
    
    
    Run

<https://play.nim-lang.org/#ix=3IJX>

Maybe it's not good practice, but useful to hide the details in certain 
situations and to avoid clutter.

Reply via email to