Maybe i do not understand correctly but for me it "just works"
coolLib.nim
proc abs*(x: int): float =
return 0.1
proc abs*(x: float): float =
return 0.2
proc coolProc*[T](x: T): T =
let a = abs(x)
echo a
Run
coolMain.nim
import coolLib
type CoolType = object
proc abs(x: CoolType): float =
return 0.3
var coolVar = CoolType()
echo coolProc(coolVar)
Run
outputs:
Hint: /home/david/nimPlayground/coolMain [Exec]
0.3
()
Run
