Does Nim support overloading by dependent type? If so, following code does not 
yield the expected results:
    
    
    type MySeq*[T] = object
    
    proc foo(a: seq[int]) = echo "foo: seq[int]"
    proc foo[T](a: seq[T]) = echo "foo: seq[T]"
    proc foo(a: MySeq[int]) = echo "foo: MySeq[int]"
    proc foo[T](a: MySeq[T]) = echo "foo: MySeq[T]"
    
    foo(@[1,2,3])
    foo(@["WER"])
    foo(MySeq[int]())
    foo(MySeq[string]())
    
    Run

What is the reason `foo()` overloading machinery works differently for `seq` 
and my `MySeq`?

Reply via email to